关于附件上传

在文件上传的时候用的插件是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;
   }

}
上传文件大致就是上面几个步骤。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值