关于附件上传

来源:互联网 发布:网络结婚主持台词 编辑:程序博客网 时间:2024/06/14 04:44

在文件上传的时候用的插件是Huploadify,在这里有一个非常重要的问题就是在上传时保存文件的路径,在这里栽了很大的跟头,首先将上传的文件保存在项目的一个文件夹中

然后在写这句话的时候很重要

// 转存文件File saveDir = new File(request.getSession().getServletContext().getRealPath("/")+realPath)
这里要写项目的跟路径,在eclipse中这个可以自己手动设置,在Tomcat里。用到的技术有json,还有就是不要玩记到json包,下面就将上传文件代码写出
一:导入
还有json,这里就不给了
二:前端
<script type="text/javascript" src="/Huploadify/jquery.Huploadify.js"></script> <script type="text/javascript">   $('#file').Huploadify({       'uploader': '/ht/uploadFile',       'fileObjName': 'fileToUpload',       'fileTypeExts': '*.image; *.gif; *.jpeg; *.png; *.bmp;*.doc;*.docx;*.xls;*.xlsx;*.ppt; *.htm; *.html; *.xml; *.txt;',       'auto': true,       'multi': false,       'fileObjName': 'file',       'fileSizeLimit': 20480 * 60,       'showUploadedPercent': true,       'showUploadedSize': true,       'onUploadSuccess': function (file, data) {           var josobj = JSON.parse(data);           var url=josobj.src;           var fileName=josobj.name;           $("#fileAddress").val(url);           $("#video_address").val(fileName);           $('#file_addressShow').html(' <span class="picSpan"><img class="picture" height="80px" width="80px" vedioSrc="' + josobj.src + '"  src="${ctxStatic}/Huploadify/fujian.png"></img>' + josobj.name + '</span>');       },       'onUploadError': function (file, errorCode, errorMsg, errorString) {           alert('文件' + file.name + ' 上传错误: ' + errorMsg);       },   });   </script>
三:后台
/**     * 文件上传     */@ResponseBody   @RequestMapping(value = {"uploadFile"})   public LayFileJsonData uploadVedio(HttpServletRequest request, HttpServletResponse response, MultipartFile file)           throws IllegalStateException, IOException {          String filepath = "";           LayFileJsonData data = new LayFileJsonData();           // 判断文件是否为空           if (!file.isEmpty()) {               // 文件保存路径               String realPath = "files/";               // 转存文件               File saveDir = new File(request.getSession().getServletContext().getRealPath("/")+realPath);                               //如果目录不存在,就创建目�?               if(!saveDir.exists()){                    saveDir.mkdir();                }                        String type = file.getOriginalFilename().substring(file.getOriginalFilename().indexOf(".") + 1);               //String type = file.getContentType().substring(file.getContentType().indexOf("/") + 1);                             file.transferTo(new File(request.getSession().getServletContext().getRealPath("/") + realPath + Md5Util.parseStrToMd5L32(file.getOriginalFilename()+new SimpleDateFormat("yyyy-MM-dd").format(new Date()))+"." + type));               filepath = request.getContextPath() + realPath + Md5Util.parseStrToMd5L32(file.getOriginalFilename()+ new SimpleDateFormat("yyyy-MM-dd").format(new Date()))+"." + type;               data.setName(file.getOriginalFilename());               data.setSrc(filepath);              }           return data;
四:创建
LayFileJsonData类,方便在上面调用
public class LayFileJsonData {      private String name;//文件存储的名字      private String src;//文件存储的路径   public void setName(String name) {      this.name = name;   }   public String getName() {      return name;   }   public void setSrc(String src) {      this.src = src;   }   public String getSrc() {      return src;   }}
上传文件大致就是上面几个步骤。

原创粉丝点击