栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript > Ajax教程

使用ajax跨域调用springboot框架的api传输文件

Ajax教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用ajax跨域调用springboot框架的api传输文件

在新项目中使用的是springboot编写的api,涉及到ajax跨域请求和传输文件的问题,在这里记录一下
首先是前台页面的代码



 
  
  test_api
  
  
 
 
  
   
sCompany:
scardtype:
file:

程序入口类的代码

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;



@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("
  @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 files = ((MultipartHttpServletRequest)req).getFiles("file");
    MultipartFile file = files.get(0);
    // 返回信息头部
    Map header = new HashMap();
    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;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/127989.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号