上传大文件 vue+springboot+resttemplate

第一:前端检查nginx.conf设置client_max_body_size 5120m

第二:设置后端Tomcat上传文件大小。

         spring.servlet.multi.max-file-size=-1和

spring.servlet.multi.max-request-size=-1

如果已设置无效,且无法进后台或断点。那么你要小心了,检查项目全局配置,看是否有覆盖上面的配置。例如:检索类名MultipartConfigElement,该方法会覆盖yml中Tomcat上传文件配置。这里我不截图了。

第三:resttemplate

1.设置rest 中属性bufferRequestBody=false,即不使用缓存,防止内存溢出。

2调用请求时,httpEntity 中存流 要用 file.get

Resource,不要用file.getBytes()获取字节流。

以上是我心得。

VueSpring Boot中进行大文件上传可以使用以下步骤: 1. 在Vue中,使用`<input type="file">`元素来选择要上传文件。可以使用`FormData`对象来封装文件和其他参数。例如,可以使用以下代码创建一个FormData对象并添加文件和其他参数: ```javascript const formData = new FormData(); formData.append('file', file); // 添加文件 formData.append('name', name); // 添加其他参数 ``` 2. 使用`axios`或其他HTTP库将FormData对象发送到Spring Boot后端。确保将请求方法设置为POST,并设置请求头的`Content-Type`为`multipart/form-data`。例如,可以使用以下代码发送请求: ```javascript axios.post('/upload', formData, { headers: { 'Content-Type': 'multipart/form-data' } }) ``` 3. 在Spring Boot后端,创建一个接收文件上传的控制器方法。可以使用`@RequestParam`注解来接收FormData中的参数。例如,可以使用以下代码创建一个接收文件上传的控制器方法: ```java @PostMapping("/upload") public void uploadFile(@RequestParam("file") MultipartFile file, @RequestParam("name") String name) { // 处理文件上传逻辑 } ``` 在这个例子中,`file`参数用于接收文件,`name`参数用于接收其他参数。 需要注意的是,由于大文件上传可能会占用较多的服务器资源,建议在后端进行适当的配置和优化,例如设置文件上传的最大大小限制、使用分片上传等。 总结起来,VueSpring Boot的大文件上传可以通过创建FormData对象并使用axios发送POST请求来实现。在Spring Boot后端,创建一个接收文件上传的控制器方法,并使用@RequestParam注解来接收FormData中的参数。 #### 引用[.reference_title] - *1* *2* [vue+spring boot实现文件上传](https://blog.csdn.net/m0_72167535/article/details/128430874)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值