文件下载

js代码:

function downloadFujian() {
$('#fileDetailForm').form('submit', {
url : basePath+'/ResourceController/uploadFile',
success : function(result) {
var data = eval('('+result+')');
if(data==1){
$.messager.alert("提示","下载成功!","确定",function(){
});
}else{
$.messager.alert("提示","下载失败!","确定",function(){
});
}
}
})
}


form代码:

<form action="" id="fileDetailForm">

<table class="tableStyle">
<tr>
<td width="35%"><span style="color:red">*</span>文件名称:</td>
<td width="64%">
<input style="width: 350px;"  class="easyui-textbox" id="fileName" name="fileName" > 
</td>
</tr>


<tr>
<td>附件:</td>
<td><input style="width: 290px;" class="easyui-textbox" id="uploadFileName" name="uploadFileName" readonly="readonly">
<a href="javascript:downloadFujian();" id="uploadFile">点击下载</a></td>
</tr>
</table>

</form>


ResourceController.java代码:

@RequestMapping("/uploadFile")
@ResponseBody
public String uploadFile(HttpServletResponse response,HttpServletRequest request)

String returnString="1";

String fileName=request.getParameter("uploadFileName");

String dir = request.getRealPath("/") + File.separator+ "path";

String filePath = dir + File.separator + fileName;

try {

FileUtil.downloadFile(response, filePath, fileName);

ActionUtil.outData(response, "1");

} catch (Exception e) {

e.printStackTrace();

ActionUtil.outData(response, "2");

}

return returnString;
}


FileUtil.java

public static String downloadFile(HttpServletResponse response, String filePath,String fileName) throws IOException {  
String returnString="";
try{
// path是指欲下载的文件的路径。
File file = new File(filePath);
// 取得文件名。
String filename =fileName;
// 以流的形式下载文件。
InputStream fis = new BufferedInputStream(new FileInputStream(filePath));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
// 设置response的Header
response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
response.addHeader("Content-Length", "" + file.length());
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
toClient.close();
returnString="1";
}catch(Exception e){
e.printStackTrace();
returnString="0";
}
return returnString;
}


ActionUtil.java代码:

public static void outData(HttpServletResponse response, Object data) {
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
try {
PrintWriter out = response.getWriter();
out.print(data);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值