使用改造 2 将图像从画廊/相机上传到服务器(okhttp 问题)

Posted

技术标签:

【中文标题】使用改造 2 将图像从画廊/相机上传到服务器(okhttp 问题)【英文标题】:Uploading images to server from gallery/camera using retrofit 2 (okhttp issue) 【发布时间】:2019-05-14 01:43:23 【问题描述】:

我正在使用 Retrofit 2.5.0 将图像上传到 NodeJS 服务器, 当我尝试上传图片时,它给了我一个错误。 当我记录请求时,它不会读取完整文件并给出 EOF 异常。 我正在使用 MultiPart 上传,这是我的代码 sn-p

RequestBody requestFile =
                RequestBody.create(MediaType.parse("image/jpg"), file);
        MultipartBody.Part body =
                MultipartBody.Part.createFormData("image", file.getName(), requestFile);

// add another part within the multipart request

RequestBody fullName =
                RequestBody.create(
                        MediaType.parse("multipart/form-data"), image.getDescription());

这是 okHttp 日志:

 --------- beginning of main
10-30 14:25:45.330 11236-11402/com.project.peoject D/OkHttp: �Dw�m�1��l��n�D�RXZX�1[)$M��l�`���7Q���n�ӟ̊e��L�،����=�k����*a�~�g��=�U�ɨ@<�x���/���>� ���R���@���z�;c�?��Zʖ7��ۮ�0��*r�����#ך������3��J��F���v�   ����Kk�̌�$|�|                                                               
read: unexpected EOF!

【问题讨论】:

可以分享一下你改造接口的方法吗? Logcat crashes with error: unexpected EOF的可能重复 【参考方案1】:

“读取:意外的 EOF!”是面对大量日志时出现的 Logcat 错误。 您可以通过运行此行来扩大缓冲区大小:

adb logcat -G 1m

缓冲区的默认大小为 256k,通过运行以上行,您将其增加到 1MB。

【讨论】:

以上是关于使用改造 2 将图像从画廊/相机上传到服务器(okhttp 问题)的主要内容,如果未能解决你的问题,请参考以下文章

如何将图像从安卓相机上传到网络服务器(不在应用程序中)

从android中的画廊和相机中捕获图像

如何从android改造上传图像到服务器

如何将图像从相机保存到 iPhone 画廊中的特定文件夹?

如何在特定的imageView上上传特定的图像点击来自android中的画廊和相机

从画廊或相机上传图像到rest api(错误:状态:错误,消息:用户不存在!,数据:空)