formdata文件上傳記錄

項目開發中遇到的問題,困擾了很就 故在此記錄下

由於 前後端架設了nodejs,做了前後端分離之後 。之前的ajax文件上傳插件 就出了 問題 導致大文件無法上傳 上傳慢 問題。再多次 調試之後選用formdata進行文件上傳


以下爲formdata上傳帶嗎

<body>
  <form id= "uploadForm">
  <p >上傳文件: <input type="file" name="file"/></ p>
  <input type="button" value="上傳" onclick="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 "上傳成功";
  }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章