怎么在ajax中通过调用springboot框架api传输文件
今天就跟大家聊聊有关怎么在ajax中通过调用springboot框架api传输文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

10年积累的网站设计、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有玉泉街道免费网站建设让你可以放心的选择与我们合作。
首先是前台页面的代码
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;
/**
* 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 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;
}
} 看完上述内容,你们对怎么在ajax中通过调用springboot框架api传输文件有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。
新闻名称:怎么在ajax中通过调用springboot框架api传输文件
分享路径:http://www.jxjierui.cn/article/gicoeg.html


咨询
建站咨询
