成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

使用ajax跨域調用springboot框架的api傳輸文件

瀏覽:516日期:2022-06-11 17:47:45

在新項目中使用的是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>
   <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);
  }
  //設置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();
    //設置上傳文件大小限制
    factory.setMaxFileSize("10MB");
    //設置上傳總數據大小
    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){ 
    // 返回結果用 json對象
    JSONObject returnObj = new JSONObject();
    //從請求中獲取請求的json字符串
    String strData = req.getParameter("data");
    //將獲取到的JSON字符串轉換為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());
    //插入數據的影響的數據條數
    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:上傳文件失敗,因為文件是空的");
    }
    String returnStr = returnObj.toJSONString(header);
    return returnStr;
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

標簽: Ajax
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
日产精品久久久久久久性色| 奇米四色…亚洲| 欧美日韩综合网| 亚洲国产视频一区| 日韩一区二区三区三四区视频在线观看 | 国产精品123区| 亚洲视频免费在线| 在线电影欧美成精品| 一本久道久久久| 白白色 亚洲乱淫| 亚洲自拍偷拍欧美| 久久久久久久久久久久电影| 久久久福利视频| 欧美激情亚洲| 国产激情视频一区二区三区欧美| 亚洲天堂a在线| 欧美大度的电影原声| 亚洲一区二区毛片| 99精品偷自拍| 久久国产综合精品| 综合久久综合久久| 日韩一级免费观看| 欧美中文字幕久久| 9色精品在线| 欧美激情偷拍| 国产成人av资源| 男女男精品视频| 一区二区三区 在线观看视频| 精品美女一区二区三区| 91久久精品国产91性色tv| 亚洲精品乱码久久久久久蜜桃麻豆| 国产盗摄女厕一区二区三区| 偷拍日韩校园综合在线| 亚洲婷婷国产精品电影人久久| 精品久久国产老人久久综合| 欧美日韩国产中文| 久久婷婷丁香| 国产一区二区三区奇米久涩| 欧美日本在线| 成年人国产精品| 日本在线不卡一区| 中文字幕一区二区三区在线播放 | 欧美视频导航| 成年人国产精品| 久久超碰97人人做人人爱| 亚洲综合免费观看高清完整版在线| 国产欧美一区二区在线观看| 日韩午夜中文字幕| 欧美日韩另类一区| 色久优优欧美色久优优| 午夜在线精品偷拍| 亚洲小说欧美另类婷婷| 99精品视频一区| 国产宾馆实践打屁股91| 久久av老司机精品网站导航| 日日骚欧美日韩| 亚洲高清免费一级二级三级| 亚洲精品视频在线看| 国产精品久久久久久久第一福利| 久久综合精品国产一区二区三区| 日韩欧美在线不卡| 欧美精品 日韩| 在线看不卡av| 在线日韩国产精品| 色婷婷综合久久| 色综合久久久久久久久久久| 久久久精品动漫| 亚洲一区二区三区高清不卡| 亚洲巨乳在线| 亚洲黄色影院| 国产中文一区| 伊人成年综合电影网| 欧美日韩亚洲一区| 欧美日韩理论| 黑人一区二区三区四区五区| 黑丝一区二区三区| 亚洲小说区图片区| 精品9999| 99视频精品| 性高湖久久久久久久久| 香蕉久久国产| 另类图片国产| 久久亚洲高清| 91国偷自产一区二区三区观看| 久久精品日产第一区二区| 亚洲欧美日韩精品在线| 久久久久久色| 久久综合婷婷| 91传媒视频在线播放| 91黄色小视频| 欧美日本免费一区二区三区| 欧美福利电影网| 欧美一级在线免费| 精品乱人伦一区二区三区| 久久影视一区二区| 国产欧美精品区一区二区三区| 中文子幕无线码一区tr| 亚洲三级电影网站| 亚洲午夜激情网页| 偷拍一区二区三区| 久久精品二区亚洲w码| 国产精品一区久久久久| 懂色av中文一区二区三区 | 欧美精品v国产精品v日韩精品| 678五月天丁香亚洲综合网| 欧美一级日韩免费不卡| ww亚洲ww在线观看国产| 国产精品久久久久永久免费观看 | 色婷婷国产精品| 欧美精品日韩综合在线| 欧美电影免费提供在线观看| 国产清纯美女被跳蛋高潮一区二区久久w| 国产精品视频第一区| 亚洲一区在线视频| 看电影不卡的网站| 成人免费三级在线| 国产精品videossex久久发布| 在线视频精品一区| 色拍拍在线精品视频8848| 欧美日本在线视频| 久久久久久综合| 亚洲精品视频在线| 毛片av一区二区三区| 国产精品一卡二卡| 欧美在线一二三区| 夜夜爽av福利精品导航 | 麻豆精品一二三| 国产99久久久国产精品潘金 | 午夜在线精品偷拍| 欧美艳星brazzers| 日韩一级免费观看| 国产亚洲一区二区三区| 亚洲另类在线制服丝袜| 欧美激情一区三区| 亚洲制服欧美中文字幕中文字幕| 青青草国产成人99久久| 国产一区二区三区高清播放| 99精品国产99久久久久久白柏| 亚洲视频日本| 久久精品五月婷婷| 91精品国产色综合久久ai换脸| 久久综合久久综合久久综合| 国产精品嫩草影院av蜜臀| 亚洲精品成人悠悠色影视| 日精品一区二区三区| 国产精品夜夜嗨| 欧美日韩岛国| 午夜在线视频观看日韩17c| 欧美高清你懂得| 久久先锋影音av| 伊人色综合久久天天| 日本美女一区二区| 成人午夜激情片| 在线欧美福利| 在线亚洲一区二区| 精品国产乱码久久久久久浪潮| 中文字幕视频一区| 麻豆精品久久久| 波多野结衣中文字幕一区二区三区| 伊人精品视频| 91久久精品国产91性色tv| 精品美女在线观看| 一区二区三区在线免费| 国产精品一区二区在线观看网站 | 2020日本不卡一区二区视频| 一区二区三区四区国产精品| 国产成人精品综合在线观看| 国产欧美日韩一区二区三区| 欧美一区二区在线不卡| ...av二区三区久久精品| 经典三级一区二区| 亚洲经典三级| 日韩一级二级三级精品视频| 亚洲精品成人天堂一二三| 国产福利一区二区三区视频在线| 99香蕉国产精品偷在线观看| 日韩欧美专区在线| 亚洲一区二区三区免费视频| 北条麻妃一区二区三区| 久久久久久黄| 国产欧美精品一区二区三区四区 | 国产一区二区调教| 99精品国产99久久久久久福利| 欧美一区国产二区| 一区二区三区国产精品| 成人免费电影视频| 久久久久se| 国产亚洲va综合人人澡精品| 老汉av免费一区二区三区| 极品av少妇一区二区| 欧美一区二区免费观在线| 一二三四区精品视频| 成人激情开心网| 在线观看欧美黄色| 亚洲视频中文字幕| 波多野结衣91| 欧美视频一区二区三区在线观看| 亚洲日本在线看| 99国产精品99久久久久久| 欧美中文字幕一二三区视频|