兼容火狐 使用Uploadify插件上传文件

项目配置

兼容火狐  使用Uploadify插件上传文件

文章插图
前端代码

兼容火狐  使用Uploadify插件上传文件

文章插图
文件替换可以在‘’方法中加入以下代码
var curLimit = $("#file_upload_1").uploadify('settings','uploadLimit');$("#file_upload_1").uploadify('settings','uploadLimit',curLimit+1);
去掉以下代码:
'onSelect' : function(file) {result++;if(result>1){alert("您只能上传一张图片!");var qs=$('#file_upload-queue>div');
后台java代码

@Controller@RequestMapping("/pub/FileUpload")public class FileUploadUtil {@RequestMapping("/upload")@ResponseBodypublic void writeInfo(HttpServletRequest request,HttpServletResponse response) throws IOException {HttpSession session = request.getSession();String string = (String) request.getAttribute("refersh");System.out.println(string);// String ip=request.getLocalAddr();String id = session.getId();System.out.println(id);// System.out.println(ip);// 上传附件MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;MultipartFile file = multipartRequest.getFile("myFile");// 获取服务器地址ServletContext sc = request.getSession().getServletContext();// 附件存放服务器路径String dir = sc.getRealPath("/upload/" + id + "/");// 某一文件夹路径String filename = request.getContextPath() + "/upload/" + id;// 如果文件夹不存在,则创建文件夹if (!new File(dir).exists()) {new File(dir).mkdirs();}String fileName = file.getOriginalFilename();String realName = fileName.substring(0, fileName.indexOf("."));// 防止文件被覆盖,以纳秒生成文件名称Long _l = System.nanoTime();String _extName = fileName.substring(fileName.indexOf("."));fileName = _l + _extName;String uploadPath = request.getContextPath() + "/upload/" + id + "/"+ fileName;// 存储格式为:/项目名/upload/yingjiwuzhi/43038800303864.log// 存储到数据库的相对路径String responseStr = "";try {FileUtils.writeByteArrayToFile(new File(dir, fileName),file.getBytes());// 服务器中生成文件} catch (IOException e) {e.printStackTrace();}response.getWriter().print(fileName);}
后台需要引入-io-2.0.1.jar文件
【兼容火狐使用Uploadify插件上传文件】因为这个插件都是预先把文件上传到服务器,这样势必会出现很多垃圾文件 , 我的处理方案是预上传的文件都保存在一个临时文件夹 , 用户点击确认提交后把最终上传的那份文件拷贝到服务器的正式文件夹,至于临时文件夹会在项目重启的时候进行清空 。