formdata文件上传记录

2 篇文章 0 订阅

项目开发中遇到的问题,困扰了很就 故在此记录下

由于 前后端架设了nodejs,做了前后端分离之后 。之前的ajax文件上传插件 就出了 问题 导致大文件无法上传 上传慢 问题。再多次 调试之后选用formdata进行文件上传


以下为formdata上传带吗

<body>
  <form id= "uploadForm">
  <p >上传文件: <input type="file" name="file"/></ p>
  <input type="button" value="上传" οnclick="doUpload()" />
  </form>
  <script type="text/javascript">
  function doUpload() {
  var formData = new FormData($( "#uploadForm" )[0]);
  $.ajax({
  url: host + 'demo/uploads.htm',
  type: 'POST',
  data: formData,
  async: false,
  cache: false,
  contentType: false,
  processData: false,
  success: function (returndata) {
  alert(returndata);
  },
  error: function (returndata) {
  alert(returndata);
  }
  });
  }
  </script>
  </body>

服务端代码
@Controller
  @RequestMapping("/demo")
  public class DemoController {
  */
  /**
  * 文件上传
  * @param request
  * @param response
  * @return
  */
  /*
  @ResponseBody
  @RequestMapping("/uploads")
  public String upload(HttpServletRequest request,HttpServletResponse response) {
  response.setHeader("Access-Control-Allow-Origin", "*");
  MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
  */
  /**得到图片保存目录的真实路径**/
  /*
  String logoRealPathDir = "d:/demo";
  */
  /**根据真实路径创建目录**/
  /*
  File logoSaveFile = new File(logoRealPathDir);
  if (!logoSaveFile.exists())
  logoSaveFile.mkdirs();
  */
  /**页面控件的文件流**/
  /*
  MultipartFile multipartFile = multipartRequest.getFile("file");
  */
  /**获取文件的后缀**/
  /*
  System.out.println(multipartFile.getOriginalFilename());
  String suffix = multipartFile.getOriginalFilename().substring
  (multipartFile.getOriginalFilename().lastIndexOf("."));
 
  */
  /**拼成完整的文件保存路径加文件**/
  /*
  String name = +System.currentTimeMillis() + suffix;
  String fileName = logoRealPathDir + File.separator + name;
  File file = new File(fileName);
 
  String data = file.getPath();
  try {
  multipartFile.transferTo(file);
  } catch (IllegalStateException e) {
  e.printStackTrace();
  } catch (IOException e) {
  e.printStackTrace();
  }
  System.out.println( "上传成功:" + name);
  return "上传成功";
  }


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值