使用ajax跨域调用springboot框架的api传输文件(ajax跨域请求cors)这都可以?

随心笔谈2年前发布 编辑
158 0
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买


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<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;
}
}

© 版权声明

相关文章