小程序上传文件失败

问题描述:小程序上传文件时报错。

020-08-03 20:23:58.749 |-ERROR [https-jsse-nio-1094-exec-5] com.zczc.take_out_rider_app.util.exception.ExceptionAdviceController [27] -| Failed to parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.impl.IOFileUploadException: Processing of multipart/form-data request failed. Stream ended unexpectedly
2020-08-03 20:23:58.773 |-INFO  [https-jsse-nio-1094-exec-6] org.apache.coyote.http11.Http11Processor [175] -| Error parsing HTTP request header
 Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens
    at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:416)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:260)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
2020-08-03 20:24:02.455 |-ERROR [https-jsse-nio-1094-exec-1] com.zczc.take_out_rider_app.util.exception.ExceptionAdviceController [27] -| Failed to parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.impl.IOFileUploadException: Processing of multipart/form-data request failed. Stream ended unexpectedly

 

文件很小的可以上传,超过几百K的就报错。

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>

将spring boot 版本改为

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>

运行正常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 uniapp 中,可以使用 uni.uploadFile 方法来上传文件。该方法的语法如下: ``` uni.uploadFile({ url: '', // 上传文件的接口地址 filePath: '', // 要上传文件的本地路径 name: '', // 上传文件对应的 key,服务器可以通过这个 key 获取到文件 formData: {}, // HTTP 请求中其他额外的 form data success: function (res) {}, fail: function (err) {} }) ``` 其中,url 是上传文件的接口地址,filePath 是要上传文件的本地路径,name 是上传文件对应的 key,服务器可以通过这个 key 获取到文件。formData 是 HTTP 请求中其他额外的 form data,可以在服务器端通过 $_POST 获取到。 具体实现步骤如下: 1. 在页面中添加一个选择文件的按钮,使用 `uni.chooseImage()` 方法选择文件,并将选择的文件路径保存到变量中。 ``` <template> <view> <button @tap="chooseFile">选择文件</button> </view> </template> <script> export default { data() { return { filePath: '', // 要上传的文件路径 } }, methods: { chooseFile() { uni.chooseImage({ success: (res) => { this.filePath = res.tempFilePaths[0] } }) } } } </script> ``` 2. 使用 `uni.uploadFile()` 方法上传文件,并将上传结果显示到页面上。 ``` <template> <view> <button @tap="chooseFile">选择文件</button> <button @tap="uploadFile">上传文件</button> <text>{{uploadResult}}</text> </view> </template> <script> export default { data() { return { filePath: '', // 要上传的文件路径 uploadResult: '', // 上传结果 } }, methods: { chooseFile() { uni.chooseImage({ success: (res) => { this.filePath = res.tempFilePaths[0] } }) }, uploadFile() { uni.uploadFile({ url: 'http://example.com/upload', filePath: this.filePath, name: 'file', formData: { 'user': 'test' }, success: (res) => { this.uploadResult = '上传成功,服务器返回:' + res.data }, fail: (err) => { this.uploadResult = '上传失败,错误信息:' + err.errMsg } }) } } } </script> ``` 在上传文件时,需要将要上传的文件路径传递给 `uni.uploadFile()` 方法,并将上传结果显示到页面上。如果上传成功,页面将显示上传成功的提示信息以及服务器返回的数据;如果上传失败,页面将显示上传失败的提示信息以及错误信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值