2023年6月21日发(作者:)

jQuery+Ajax+form表单上传⽂件简单demo,附前后端代码jQuery+Ajax+form表单上传⽂件简单demo,附前后端代码⼀,书写⽬的:记录踩坑,,⼆,代码的功能使⽤ajax,和springBoot项⽬,从前端往后端传输⽂件三,代码详情前端代码:html:

ajax写法:function postData() { var form = new FormData(mentById("tf")); alert(form); $.ajax({ url: "localhost:8080/input/file", type: "post", data: form, processData: false, contentType: false, success: function (data) { alert(ify(data)) }, error: function (e) { (e); } }); }后端代码:entity:@Data@Builder@AllArgsConstructor@NoArgsConstructorpublic class GrayFileQo { private String marks;//备注 private MultipartFile multipartFile;} /** * jQuery+Ajax+form表单上传⽂件,其余信息,从form表单⾥⾯放值 * 在HttpServletRequest的.getParameter()⽅法中获取 * * @param request * @return */ @PostMapping("/input/file") @ApiOperation("上传⽂件") public Result inputFile(HttpServletRequest request) { MultipartHttpServletRequest multReq = (MultipartHttpServletRequest) request; MultipartFile file = e("uploadFile"); GrayFileQo inputQo = new GrayFileQo(); tipartFile(file); ks(ameter("inputInfoName")); ServiceResult result = ileService(inputQo); return new Result(result); }后端转储⼊参⽂件:@Slf4j@Servicepublic class FileInputServiceImpl implements FileInputService { @Override public ServiceResult inputFileService(GrayFileQo inputQo) { MultipartFile file = tipartFile(); File outFile = new File(_PATH + ginalFilename()); if (!()) { (); } try { erTo(outFile); } catch (IOException e) { ("===== ⽂件存盘异常 :", e); } return s(); }}前端通过form表单提交相关到后端,后端可以获取⽂件,和前端form表单内的信息,对应关系为:ps:下⾯写的代码仅供参考,如果遇到相同问题可以试试。我⾃⼰搭建了⼀个springBootWeb项⽬,但是在前后端交互的时候,后端会提⽰xxhttpMessageConvert不能转换,(英⽂太长,记不住)。处理⽅式:配置了HttpMessageConverter(⼤神勿喷,哈哈哈)@Slf4j@Component//@RestController这个注解返回json,但是新建项⽬的时候,直接⽤ajax请求,返回的不是json格式,//ajax从返回的data去不了值,然后配置了这个GrayHttpMessageConverter,过后可以使⽤,然后不使⽤这个类,也⼀样可以了//不同浏览器也能使⽤,排除缓存问题public class GrayHttpMessageConverter implements HttpMessageConverter { @Override public boolean canRead(Class clazz, MediaType mediaType) { boolean assignableFrom = gnableFrom();// n("canRead" + assignableFrom);// if (mediaType != null) {// n("canWrite" + de());// }// n("canWrite" + mediaType); return true; } @Override public boolean canWrite(Class clazz, MediaType mediaType) { boolean assignableFrom = gnableFrom();// n("canWrite" + assignableFrom);// if (mediaType != null) {// n("canWrite" + de());// }// n("canWrite" + mediaType); return assignableFrom; } @Override public List getSupportedMediaTypes() { //暂时不知道怎么⽤ 2021/3/11 List types = new ArrayList<>(); MediaType json = new MediaType("application", "*+json"); MediaType urlencoded = new MediaType("application", "*+x-www-form-urlencoded"); MediaType multipart = new MediaType("application", "*+form-data"); (json); (urlencoded); (multipart); return types; } @Override public Object read(Class clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException { return null; } @Override public void write(Object o, MediaType contentType, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {// if (contentType != null) {// n("write" + de());// } n("write" + contentType); if (o instanceof Result) { n("难道是这样???");//就是这样 OutputStream outputStream = y(); String backStr = String(o); (es()); } }}

2023年6月21日发(作者:)

jQuery+Ajax+form表单上传⽂件简单demo,附前后端代码jQuery+Ajax+form表单上传⽂件简单demo,附前后端代码⼀,书写⽬的:记录踩坑,,⼆,代码的功能使⽤ajax,和springBoot项⽬,从前端往后端传输⽂件三,代码详情前端代码:html:

ajax写法:function postData() { var form = new FormData(mentById("tf")); alert(form); $.ajax({ url: "localhost:8080/input/file", type: "post", data: form, processData: false, contentType: false, success: function (data) { alert(ify(data)) }, error: function (e) { (e); } }); }后端代码:entity:@Data@Builder@AllArgsConstructor@NoArgsConstructorpublic class GrayFileQo { private String marks;//备注 private MultipartFile multipartFile;} /** * jQuery+Ajax+form表单上传⽂件,其余信息,从form表单⾥⾯放值 * 在HttpServletRequest的.getParameter()⽅法中获取 * * @param request * @return */ @PostMapping("/input/file") @ApiOperation("上传⽂件") public Result inputFile(HttpServletRequest request) { MultipartHttpServletRequest multReq = (MultipartHttpServletRequest) request; MultipartFile file = e("uploadFile"); GrayFileQo inputQo = new GrayFileQo(); tipartFile(file); ks(ameter("inputInfoName")); ServiceResult result = ileService(inputQo); return new Result(result); }后端转储⼊参⽂件:@Slf4j@Servicepublic class FileInputServiceImpl implements FileInputService { @Override public ServiceResult inputFileService(GrayFileQo inputQo) { MultipartFile file = tipartFile(); File outFile = new File(_PATH + ginalFilename()); if (!()) { (); } try { erTo(outFile); } catch (IOException e) { ("===== ⽂件存盘异常 :", e); } return s(); }}前端通过form表单提交相关到后端,后端可以获取⽂件,和前端form表单内的信息,对应关系为:ps:下⾯写的代码仅供参考,如果遇到相同问题可以试试。我⾃⼰搭建了⼀个springBootWeb项⽬,但是在前后端交互的时候,后端会提⽰xxhttpMessageConvert不能转换,(英⽂太长,记不住)。处理⽅式:配置了HttpMessageConverter(⼤神勿喷,哈哈哈)@Slf4j@Component//@RestController这个注解返回json,但是新建项⽬的时候,直接⽤ajax请求,返回的不是json格式,//ajax从返回的data去不了值,然后配置了这个GrayHttpMessageConverter,过后可以使⽤,然后不使⽤这个类,也⼀样可以了//不同浏览器也能使⽤,排除缓存问题public class GrayHttpMessageConverter implements HttpMessageConverter { @Override public boolean canRead(Class clazz, MediaType mediaType) { boolean assignableFrom = gnableFrom();// n("canRead" + assignableFrom);// if (mediaType != null) {// n("canWrite" + de());// }// n("canWrite" + mediaType); return true; } @Override public boolean canWrite(Class clazz, MediaType mediaType) { boolean assignableFrom = gnableFrom();// n("canWrite" + assignableFrom);// if (mediaType != null) {// n("canWrite" + de());// }// n("canWrite" + mediaType); return assignableFrom; } @Override public List getSupportedMediaTypes() { //暂时不知道怎么⽤ 2021/3/11 List types = new ArrayList<>(); MediaType json = new MediaType("application", "*+json"); MediaType urlencoded = new MediaType("application", "*+x-www-form-urlencoded"); MediaType multipart = new MediaType("application", "*+form-data"); (json); (urlencoded); (multipart); return types; } @Override public Object read(Class clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException { return null; } @Override public void write(Object o, MediaType contentType, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {// if (contentType != null) {// n("write" + de());// } n("write" + contentType); if (o instanceof Result) { n("难道是这样???");//就是这样 OutputStream outputStream = y(); String backStr = String(o); (es()); } }}