android - java.net.ProtocolException: 预期 * 字节但收到 * #4302
问题描述
@post()
@multipart
Call<FileUploadResult[]> upload File(@nonnull @part MultipartBody.Part... files);
MultipartBody.Part body = MultipartBody.Part.createFormData("file","Timesheet-" +
new Date().getTime() + FileUtils.IMAGE_EXT,
RequestBody.create(
MediaType.parse(URLConnection.guessContentTypeFromName(file.getName())), file));
ServiceBuilder.getService().uploadFile(body).enqueue(syncCallback);
我在使用上传图像时遇到了这个错误MultipartBody.Part
,它抛出了那个异常。这是代码:java.net.ProtocolException: 预期 * 字节但收到 *
作为一个有同样问题的人,它在 HEADER 和 BODY 之间的内容长度错误,但我不这么认为,因为我在调用 API 时没有修改任何东西,而且它不会一直发生
解决方案
我发现问题是保存照片时,他们使用另一个线程来保存图像,有时没有足够的时间将图像保存到 sdcard -> 当将图像推送到服务器时,图像的大小不够 -> 捕获了该异常
推荐阅读
- android - 以编程方式在应用程序上显示 logcat -b 收音机
- ruby - 使用 Ruby 选择方法进行嵌套哈希
- php - xpath 匹配第一个和最后一个孩子
- javascript - JavaScript 图像被 CORS 阻止
- python - 在我的代码中遇到错误,但我无法确定原因。(getpixel() 接受 2 个位置参数,但给出了 3 个)
- javascript - 点击后删除类
- docker - 版本 3 中是否有可用的 docker-compose 服务初始化?
- python - 一行 Python 中的多个整数输入
- ruby-on-rails - 如何用rails中数据库中的值填充下拉列表选项?
- java - Using regex to check if start of a string matches a pattern