android – 无法从改造2中POST多部分数据

android – 无法从改造2中POST多部分数据,第1张

概述我必须以这种格式发送一个帖子请求. --__X_PAW_BOUNDARY__Content-Disposition: form-data; name="user_photo[image]"; filename="file.jpg"Content-Type: image/jpegÿØÿàJFIFHHÿáLExifMM*i    ÿí8Photoshop 3.08BIM8BIM%ÔÙ²é 我必须以这种格式发送一个帖子请求.
--__X_PAW_BOUNDARY__Content-disposition: form-data; name="user_photo[image]"; filename="file.jpg"Content-Type: image/jpegÿØÿàJFIFHHÿáLExifMM*iÿí8Photoshop 3.08BIM8BIM%ÔÙ²é   ìøB~ÿÀ"ÿÄ    ÿĵ}!1AQa"q2¡#B±ÁRÑðbr    %&'()*456789:CDEFGHIJsTUVWXYZcdefghiJstuvwxyz¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B¡±Á    #3RðbrÑá%ñ&'()*56789:CDEFGHIJsTUVWXYZcdefghiJstuvwxyz¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÛC                                       ÿÛC                                                                                                                                                                                                         ÿÝZÿÚ?ü_¢+þæð¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¯ë3þ

我基本上试图在帖子请求中发送一张名为user_photo [image]的照片,如下图所示:

以下是我考虑过的解决方案的片段:

Call<models.UploadResponse> uploadPhoto(@Path("ID") int userID,@Part Multipartbody.Part file);        Multipartbody.Part body = Multipartbody.Part.createFormData("user_photo[image]",file.getname(),requestfile);Call<models.UploadResponse> call = userRequest.uploadPhoto(62,body);    Requestbody requestfile =            Requestbody.create(MediaType.parse("image/*"),fileUtils.getfile(PhotoUploadActivity.this,fileUri));    Call<models.UploadResponse> call = userRequest.uploadPhoto(62,requestfile);    Call<models.UploadResponse> uploadPhoto(@Path("ID") int userID,@Part ("name=\"user_photo[image]\"") Requestbody file);    @Multipart        @POST("users/{ID}/user_photos")    Call<models.UploadResponse> uploadPhoto(@Path("ID") int userID,@Part("name=\"user_photo[image]\"") Requestbody file);

这是okhttp日志:

D/Okhttp: Content-Type: multipart/form-data; boundary=75e8ae2e-a160-413f-82d1-3afd94f22c43D/Okhttp: Content-Length: 43706D/Okhttp: ������JFIF�����������������Photoshop 3.0��8BIM����������hg��vdP4uk_QnzZ02cW1f845(��JFBMD0f00078d0300006c1d0000675000009d53000068590000c77e000041a90000b1a90000��ICC_PROfile������lCMS����mntrRGB XYZ ���������)��9acspAPPL�����������������������������������������������������������������-lCMS����������������������������������������������������������������������������������������������D/Okhttp: desc�������������^cprt����\������wtpt����h������bkpt����|������rXYZ�����������gXYZ�����������bXYZ�����������rTRC�����������@gTRC�����������@bTRC�����������@desc��������������c2��������������������������������������������������������������������������������������������������������������������������������������������������������������������text��������FB����XYZ �������������������������-XYZ ����������������3�����XYZ ������������o�����8������XYZ ������������b������������XYZ ������������$������������curv����������������������c�k�?Q4!�)�2;�FQw]�kpz���|�i�}���0������C��D/Okhttp: D/Okhttp:   D/Okhttp: �"�������������������������������������������������������������������������<r9������J�������@��aCLk@�|2�=�VW�}������E���� �,i�v!�Q;j�H�N@E0!��1�J�T5L4�������� ��h���U��S�׿м�6v���2��]D/Okhttp: ����3��T0��-@t�`&h��������%̬�Η�����[w(��جƥ�f^D/Okhttp: C���;���t������E�͂I�O�[�Hvݝ -�g߫t�k���y����ة�ۼ�6S7zEe��/��I_��b��;�Gr��/�:B��R-7$eO��M��G�۱Iū�G2�r�s7#p�P��Ha�o6U�$�3(�����G\�q�4�ȋ�Dj�S�������n�V���J�f?m{{��ޣq�<\��_L���v+�1��-�\h���\u�Pnms����9   ��".~N�z�*J>f�I�:$��T   j�C�{���$�_y���ߪy�¼žj���j�愰�s�z�)�o���J����]�˭���ŧ��s]���D/Okhttp: ��)��(�u�����şLl_T���S��"(��_o�{n�3���}OU�P`}C^zl�]޹V"}��u�Un|=���ο-�mn�e�1�g���S���Q0ދggF������B�;ӫ>��ӷ�P���5c�x"�#o�9螗�s`�j2����O�Y�ӆa��-�便�zy���d���D/Okhttp: E�r�jqL�ah�^�u��'�+�Z����N:{a�'N��1���H�M�t �H���i���û�Ԕ�hPD/Okhttp: ���0���D/Okhttp: �����Y#M�qg���+��?��T�����ܱ���4�@��CA@����������&����G����wL���<Vo�l�Q�۲����H_?a�I�ũT��z��H���Z����S�b)���d���L11�3������hL �����h����b� ����D/Okhttp: <Rf"��L��(�D/Okhttp: s��3�Pgı��`g��ω��>&|J�S%���]�b�m�q#Ө�k��

也:

我提到的解决方案:

> https://github.com/square/retrofit/issues/1140
> https://futurestud.io/blog/retrofit-2-how-to-upload-files-to-server
> Retrofit – Multipart request: Required MultipartFile parameter ‘file’ is not present
> Multipart Retrofit 2.0 image upload
> https://github.com/square/retrofit/issues/1063

我厌倦了寻找解决方案.有人可以帮忙吗?

解决方法 在API方面
@Multipart  @POST("users/{ID}/user_photos")  Call<SignUpResp> uploadPhoto(@Part("description") Requestbody description,@Part Multipartbody.Part file,(add if more parameter req as like ID,name));

在java文件端

if (fileUpload != null) {        /**         * code for multipart         */        // create Requestbody instance from file        Requestbody requestfile =                Requestbody.create(MediaType.parse("multipart/form-data"),fileUpload);        // Multipartbody.Part is used to send also the actual file name        Multipartbody.Part body =                Multipartbody.Part.createFormData("user_photo[image]",fileUpload.getname(),requestfile);        // add another part within the multipart request        String descriptionString = "hello,this is description speaking";        Requestbody description =                Requestbody.create(                        MediaType.parse("multipart/form-data"),descriptionString);        call = userRequest.uploadPhoto(description,body,authData);    }
总结

以上是内存溢出为你收集整理的android – 无法从改造2中POST多部分数据全部内容,希望文章能够帮你解决android – 无法从改造2中POST多部分数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1134088.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存