无为清净楼资源网 Design By www.qnjia.com
在新项目中使用的是springboot编写的api,涉及到ajax跨域请求和传输文件的问题,在这里记录一下
首先是前台页面的代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>test_api</title> <script type="text/javascript" src="/UploadFiles/2021-04-02/jquery-1.7.2.js">程序入口类的代码
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,传输文件
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年09月21日
2024年09月21日
- 不止黑神话!杭州给原创企业真金白银扶持 打造“杭州游戏”品牌
- 很有多样性:《战锤》首次引入非二元性别角色
- 《少女前线2:追放》项目组将裁员 官方:进一步优化组织结构
- 陈慧琳.2002-闪亮每一天新歌+精选2CD【正东】【WAV+CUE】
- 袁培华.1992-有缘【歌林】【WAV+CUE】
- 王瑞霞.1996-是我太软心【名冠】【WAV+CUE】
- 《谭维维 30首经典流行歌曲精选辑 2CD》[WAV/分轨][1.1GB]
- 《赵传 出道三十年全新大碟 你过得还好吗》[WAV/分轨][460MB]
- 《发烧四大天王 磁性男声HiFi发烧碟 2CD》[WAV/分轨][1GB]
- 黑神话悟空上品鼠司空精魄获取方法一览|上品鼠司空精魄收集攻略
- 《真三国无双:起源》新情报将于9月26日公开,实机演示亮相!
- 黑神话悟空上品鼠禁卫精魄获取方法一览|上品鼠禁卫精魄收集攻略
- 优美的旋律至真的情怀《品茶轻音乐·极品典藏Vol.1CD1》[WAV+CUE]
- 曾嵘《峥嵘岁月DSD(试音碟)》WAV+CUE
- 小提琴天碟AlfredoCampoli坎波利-贝多芬D大调小提琴协奏曲与普罗米修斯作品选FLAC