/** * 文件上传对象 */ private File upload; private String uploadFileName; private String uploadContextType; /** * 文件上传 */ public String getUploadFileUrl() { System.out.println("upload="+upload+">>>>uploadFileName="+uploadFileName); String destfile = ""; try { if (upload != null && uploadFileName != null) { FileInputStream fis = new FileInputStream(upload); destfile = uploadFilePath + uploadFileName; File file = new File(uploadFilePath); if(!file.exists()){ file.mkdir(); } FileOutputStream fos = new FileOutputStream(destfile); byte[] buffer = new byte[1024]; int len = 0; while ((len = fis.read(buffer)) != -1) { fos.write(buffer, 0, len); } fos.close(); fis.close(); }else{ return ""; } }catch (Exception e) { e.printStackTrace(); } return uploadFileName; }
action调用:
/** * 新建附件 * */ public String accessoryAdd() { String uploadIp = AddrIPUtil.getIpAddr(StrutsUtil.getRequest()); String uploadDate = HmsUtils.getSysTime(); String accessoryPath = super.getUploadFileUrl(); accessory.setAccessoryPath(accessoryPath); accessory.setUploadIp(uploadIp); accessory.setUploadDate(uploadDate); accessory.setIsdelete("N"); super.getAccessoryDao().addAccessory(accessory); return "show_list"; }
jsp :
<tr> <td width="25%">附件路径:</td> <td> <input type="file" id="accessoryPath" name="upload" value="" /> <span id="accessoryPath_err" style="color: red;"></span> </td> </tr>
/** * 文件下载 path:文件路径 */ public void downloadFile( String path, HttpServletResponse response) { String filePath = uploadFilePath + path; String fileName = ""; try { if(filePath.lastIndexOf("/") > 0) { fileName = new String(filePath.substring(filePath.lastIndexOf("/")+1, filePath.length()).getBytes("GB2312"), "ISO8859_1"); }else if(filePath.lastIndexOf("\\") > 0) { fileName = new String(filePath.substring(filePath.lastIndexOf("\\")+1, filePath.length()).getBytes("GB2312"), "ISO8859_1"); } }catch(Exception e) {} FileInputStream fs = null; try { fs = new FileInputStream(new File(filePath)); }catch(FileNotFoundException e) { e.printStackTrace(); return; } response.reset(); response.setContentType("APPLICATION/OCTET-STREAM"); response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); int b = 0; try { PrintWriter out = response.getWriter(); while((b=fs.read())!=-1) { out.write(b); } fs.close(); out.close(); }catch(Exception e) { e.printStackTrace(); } }
action调用:
public void downloadAcc(){ String path = StrutsUtil.getParameter("path"); super.downloadFile(path, StrutsUtil.getResponse()); int id = (Integer.parseInt(StrutsUtil.getParameter("id"))); super.getAccessoryDao().updateDownloadCount(id); }
相关推荐
Struts2实现单个文件 多个文件 上传与下载 多个拦截器 直接导入MyEclipse包中即可使用。
Struts2,实现单个文件,多个文件,上传与下载,多个拦截器
SpringBoot版本的SpringMVC+Freemarker上传案例,地址是localhost:8888/photo/index进入上传页面,默认是三个文件,自己可以屏蔽两个文件就是单个文件的状态了,首先在电脑的D盘新建一个upload的文件夹,...
简单的实现了单个文件的上传与下载,内附使用方法
struts2实现文件上传(单个+多个文件上传
通过浏览按钮,选择需要上传的文件,点击控件上传按钮而实现的上传
QT4下,采用QFTP实现单个文件上传、下载、改名及刷新。文件夹及子文件上传、改名、刷新。注意:无文件夹及子文件下载
实现了Struts2对于单个文件的上传功能,限制了上传文件的大小以及上传的类型。下载就可以直接运行。
直接将myeclipse工具导入项目fileupload即可测试
可以实现多文件,单个文件图片的上传,PHP JQuery实现
本文实例讲述了PHP实现通过CURL上传文件功能。分享给大家供大家参考,具体如下: PHP使用CURL上传文件只需发送一个POST请求就可以了,在请求中设置某个字段为需要上传的文件全路径,并且以”@”开头,然后使用CURL把...
包括同时上传多个附件,支持多个附件同时上传,一次同步上传文件个数设置,单个文件上传大小限制,同时上传附件个数限制,支持上传附件格式等功能,大家可以到官网或其他网站查找Uploadify更多的帮助文档了解更多的...
使用springboot实现文件的单个和多个上传,并解决系统兼容性及虚拟路径映射等多个问题
asp.net+flash实现单个文件上传(含进度条),上传时只能上传.3gp文件类型,可以通过Flash CS 修改fileUpload.fla来修改可以上传的文件类型.
一个php文件上传类,支持单个或者多个文件上传,这个文件上传类可以实现多个文件或单个文件进行上传了,该类处理单个或者多个文件上传,使用该类时,只需要实列化该类。
实现文件上传的思路: 1、创建form表单,enctype=“multipart/form-data(二进制)”,method=“post”,type=“file”。 2、开发控制器controller,控制器方法中的参数用:MultipartFile,进行文件的接收。 3、在...
SpringMVC+Ajax异步文件上传+短视频背景+a标签绑定文件域
自己重新封装的C# FTP实现上传,下载,创建文件,文件夹,删除单个文件 MD5校验等, 支持FTP非空目录递归删除操作,测试通过,好用 环境为VS2012 开发
主要介绍了Spring boot 实现单个或批量文件上传功能,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
个php文件上传类,支持单个或者多个文件上传,这个文件上传类可以实现多个文件或单个文件进行上传了,该类处理单个或者多个文件上传,使用该类时,只需要实列化该类。