婷婷久久综合九色综合,欧美成色婷婷在线观看视频,偷窥视频一区,欧美日本一道道一区二区

<tt id="bu9ss"></tt>
  • <span id="bu9ss"></span>
  • <pre id="bu9ss"><tt id="bu9ss"></tt></pre>
    <label id="bu9ss"></label>

    當(dāng)前位置:首頁 >  站長 >  編程技術(shù) >  正文

    使用ajax跨域調(diào)用springboot框架的api傳輸文件

     2020-11-25 14:38  來源: 腳本之家   我來投稿 撤稿糾錯

      阿里云優(yōu)惠券 先領(lǐng)券再下單

    這篇文章主要介紹了使用ajax跨域調(diào)用springboot框架的api傳輸文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

    在新項(xiàng)目中使用的是springboot編寫的api,涉及到ajax跨域請求和傳輸文件的問題,在這里記錄一下

    首先是前臺頁面的代碼

    <!DOCTYPE html>
    <html>
     <head>
      <meta charset="utf-8">
      <title>test_api</title>
      <script type="text/javascript" src="jquery-1.7.2.js"></script>
      <script type="text/javascript">
       function test(){
        var obj = new Object;
        obj.name = $("#name").val();
        obj.age = $("#age").val();
        var file = document.getElementById("file").files[0];
        var formData = new FormData();
        formData.append("data",JSON.stringify(obj));
        formData.append("file",file);
        $.ajax({
         type:"post",
         url:"http://localhost:8187/test/upload",
         contentType:false,
         processData:false,
         data:formData,
         success:function(data){
           alert(data.msg);
         }
        });
       }
      </script>
     </head>
     <body>
      <div class="">
       <table>
        <tr>
         <td>sCompany:</td>
         <td><input type="text" id="name" value="tom" /></td>
        </tr>
        <tr>
         <td>scardtype:</td>
         <td><input type="text" id="age" value="23" /></td>
        </tr>
        <tr>
         <td>file:</td>
         <td><input type="file" id="file" /></td>
        </tr>
       </table>
       <input type="button" onclick="test();" value="提交" />
      </div>
     </body>
    </html>

    程序入口類的代碼

    package test;

    import javax.servlet.MultipartConfigElement;

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.web.servlet.MultipartConfigFactory;
    import org.springframework.context.annotation.Bean;
    import org.springframework.web.servlet.config.annotation.CorsRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

    /**
     * Hello world!
     *
     */

    @SpringBootApplication
    public class App
    {

      public static void main( String[] args )
      {
        SpringApplication.run(App.class, args);
      }
      //設(shè)置ajax跨域請求
      @Bean
      public WebMvcConfigurer corsConfigurer(){
        return new WebMvcConfigurerAdapter(){

          @Override
          public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**").allowedOrigins("*");
          }
        };
      }

      @Bean
      public MultipartConfigElement multipartConfigElement(){
        MultipartConfigFactory factory = new MultipartConfigFactory();
        //設(shè)置上傳文件大小限制
        factory.setMaxFileSize("10MB");
        //設(shè)置上傳總數(shù)據(jù)大小
        factory.setMaxRequestSize("15MB");
        return factory.createMultipartConfig();
      }
    }

    api代碼

    package test.controller;

    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import javax.servlet.http.HttpServletRequest;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.multipart.MultipartFile;
    import org.springframework.web.multipart.MultipartHttpServletRequest;
    import test.model.UploadInfo;
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;

    @RestController
    @RequestMapping("/test")
    public class TestController {

      /**
       * 上傳文件
       * @param req form請求
       * @return json字符串
       */
      @RequestMapping(value="/upload", method=RequestMethod.POST)
      public String uploadFile(HttpServletRequest req){
        // 返回結(jié)果用 json對象
        JSONObject returnObj = new JSONObject();
        //從請求中獲取請求的json字符串
        String strData = req.getParameter("data");
        //將獲取到的JSON字符串轉(zhuǎn)換為Imgidx對象
        UploadInfo info = JSON.parseObject(strData, UploadInfo.class);
        //獲取上傳的文件集合
        List<MultipartFile> files = ((MultipartHttpServletRequest)req).getFiles("file");
        MultipartFile file = files.get(0);
        // 返回信息頭部
        Map<String, String> header = new HashMap<String, String>();
        header.put("code", "0");
        header.put("msg", "success");
        File file1234 = new File(file.getOriginalFilename());
        //插入數(shù)據(jù)的影響的數(shù)據(jù)條數(shù)
        int result = 0;
        //將文件上傳到save
        if(!file.isEmpty()){
          try{
            byte[] arr = new byte[1024];
            BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file1234));
            bos.write(arr);
            bos.flush();
            bos.close();
          }catch(Exception e){
            header.put("code", "-1");
            header.put("msg", "errorMsg:" + e.getMessage());
          }
        }else{
          header.put("code", "-1");
          header.put("msg", "errorMsg:上傳文件失敗,因?yàn)槲募强盏?);
        }
        String returnStr = returnObj.toJSONString(header);
        return returnStr;
      }
    }

    以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

    來源:腳本之家

    鏈接:https://www.jb51.net/article/177174.htm

    申請創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

    相關(guān)標(biāo)簽
    ajax
    設(shè)計(jì)api

    相關(guān)文章

    • Ajax實(shí)現(xiàn)頁面無刷新留言效果

      這篇文章主要為大家詳細(xì)介紹了Ajax實(shí)現(xiàn)頁面無刷新留言效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

      標(biāo)簽:
      ajax
    • AJAX檢測用戶名是否存在的方法

      這篇文章主要為大家詳細(xì)介紹了AJAX檢測用戶名是否存在,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

      標(biāo)簽:
      ajax
    • 使用AJAX 包含正則表達(dá)式 驗(yàn)證用戶登錄的步驟

      這篇文章主要介紹了使用AJAX(包含正則表達(dá)式)驗(yàn)證用戶登錄的步驟,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

      標(biāo)簽:
      ajax
    • ajax使用formdata上傳文件流

      這篇文章主要為大家詳細(xì)介紹了ajax使用formdata上傳文件流,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

      標(biāo)簽:
      ajax
    • Spring MVC+ajax進(jìn)行信息驗(yàn)證的方法

      AJAX不是新的編程語言,而是一種使用現(xiàn)有標(biāo)準(zhǔn)的新方法。這篇文章主要介紹了SpringMVC+ajax進(jìn)行信息驗(yàn)證,需要的朋友可以參考下

      標(biāo)簽:
      ajax

    熱門排行

    信息推薦