用js发送请求上传文件

场景描述

在js中发送请求上传一个文件,服务接收这个文件

实现思路

通过input组件选择一个文件,获取文件对象,通过fetch上传文件

实现步骤

  • 自定义controller,实现接收文件

      @RequestMapping(value = "/main/fuwu/uf", method = RequestMethod.POST)
      public String uf(
              @RequestParam("userfile") MultipartFile file,
              @RequestParam("storeFileName") String storeFileName    ) throws Exception {
    
  • 在页面中可以用html的input设置type为file来上传,具体实现如下:

      1.在js中定义渲染input组件的函数:
    
          inputRender = ()=>{
                  return <input id="input0" type="file"/>
          }
    
      2.在.w中需要展现input组件的地方用`{$page.inputRender()}`方式调用渲染函数运行时即可显示选择文件的按钮
    

  • 在js中,通过input获取选择的文件对象,放入formData,调用fetch发送请求

          let input = document.getElementById("input0");
          let file = input.files[0];
          let formData = new FormData();
          formData.append("userfile",file);
          formData.append("storeFileName","aa");
    
          let url= this.getServiceUrl("/main/fuwu/uf");
          let _params = {
              method:"POST",
              body:formData
          };
          fetch(url,_params);
    

results matching ""

    No results matching ""

    results matching ""

      No results matching ""