用jsp怎么编写文件下载代码

用jsp怎么编写文件下载代码,第1张

下面是我写的一个小例子,下载远程文件urlString,到本地文件localFile.

成功返回True,不成功返回False.

把这代码插入到你JSP中用到的地方就OK了:)

public boolean downLoadFile(String urlString, String localFile) {

URL url

byte[] buffer = new byte[512]

int size = 0

boolean success = false

try {

url = new URL(urlString)

BufferedInputStream stream = new BufferedInputStream(url.openStream())

FileOutputStream fos = new FileOutputStream(localFile)

while ((size = stream.read(buffer)) != -1) {

fos.write(buffer, 0, size)

}

fos.close()

stream.close()

success = true

}

catch (MalformedURLException e) {

e.printStackTrace()

}

catch (IOException e) {

e.printStackTrace()

}

return success

}

上传:

MyjspForm mf = (MyjspForm) form// TODO Auto-generated method stub

FormFile fname=mf.getFname()

byte [] fn = fname.getFileData()

OutputStream out = new FileOutputStream("D:\\"+fname.getFileName())

Date date = new Date()

String title = fname.getFileName()

String url = "d:\\"+fname.getFileName()

Upload ul = new Upload()

ul.setDate(date)

ul.setTitle(title)

ul.setUrl(url)

UploadDAO uld = new UploadDAO()

uld.save(ul)

out.write(fn)

out.close()

下载:

DownloadForm downloadForm = (DownloadForm)form

String fname = request.getParameter("furl")

FileInputStream fi = new FileInputStream(fname)

byte[] bt = new byte[fi.available()]

fi.read(bt)

//设置文件是下载还是打开以及打开的方式msdownload表示下载;设置字湖集,//主要是解决文件中的中文信息

response.setContentType("application/msdownloadcharset=gbk")

//文件下载后的默认保存名及打开方式

String contentDisposition = "attachmentfilename=" + "java.txt"

response.setHeader("Content-Disposition",contentDisposition)

//设置下载长度

response.setContentLength(bt.length)

ServletOutputStream sos = response.getOutputStream()

sos.write(bt)

return null


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11523356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存