当前位置: 首页 > 知识库问答 >
问题:

无法过帐来自翻新%2的多部分数据

那存
2023-03-14

我必须以这种格式发送一个post请求。

--__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Ñð$3br    
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ 
ÿĵw!1AQaq"2B¡±Á    #3RðbrÑ
$4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÛC                                       ÿÛC                                                                                                                                                                                                         ÿÝZÿÚ?ü_¢+þæð¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¢(¯ë3þ

我基本上尝试在post请求中发送一张名为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);
D/OkHttp: Content-Type: multipart/form-data; boundary=75e8ae2e-a160-413f-82d1-3afd94f22c43
D/OkHttp: Content-Length: 43706
D/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�{���$�_$3y���ߪ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���û�Ԕ�hP
D/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��
  1. https://github.com/square/reverfit/issues/1140
  2. https://futurestud.io/blog/reverfit-2-how-to-upload-files-to-server
  3. 改装-多部分请求:所需的MultipartFile参数“file”不存在
  4. 多部分翻新2.0图像上载
  5. https://github.com/square/reverfit/issues/1063

我已经厌倦了寻找解决办法。有人能帮忙吗?

共有1个答案

宁修永
2023-03-14
  @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));
    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);

    }
 类似资料:
  • 我正在使用HttpWebRequest发布到MMS API。文章正文包含有关传递和彩信的XML数据,作为需要Base64编码的MIME多部分附件。 帖子是成功的,但我只收到文字,而不是图像。 查看我的代码时,它似乎构建了表单数据,但当我将其转换回字符串时,文件数据丢失了。 str变量的内容: ------------f2de17263b724d5a919b14a6834c489f内容配置:表单数据

  • 大家好,我想通过Retrofit2发布图像和其他数据。我在用一张图像发送数据。 所有其他信息都在储存,但我的图像不存储。当我用邮递员测试时,它工作。 请指导我在代码中的不足之处 这是我获取数据的代码 我甚至把它放在一个视图上,这很有效...

  • 我试图将表单数据从多部分/表单数据发送到我的AWS Http Body Mapping Templates web服务。 HTTP POST请求(使用postman)具有内容类型“multipart/form-data”,正文是带有3个键值内容的form-data,其中一个是file。 如果我直接调用httpendpoint(而不是通过API网关)--使用postman或mobile,它会按预期工

  • 问题内容: 我已经使用带有GET方法的Google Translation V2 API实现了C#代码。它成功地翻译了小文本,但是当增加文本长度并且它需要1800个字符长(包括URI参数)时,出现“ URI太大”错误。 好的,我烧掉了所有路径,并在Internet上发布的多个页面上调查了该问题。他们所有人都明确指出,应该重写GET方法以模拟POST方法(该方法旨在为5,000个字符URI提供支持)

  • 我尝试设置一个完整的路径,如: 但在这里,reverfit没有看到路径实际上是完整的URL,并且正在尝试下载 有任何提示,我可以如何使用这样的动态url改造?

  • 问题内容: 我有一个方法: 在Jersey 1.x上运行正常。 我要升级到2.0平方米。 现在我得到以下错误: 我找到了 http://java.net/jira/browse/JERSEY-1413并提交了http://java.net/projects/jersey/lists/commits/archive/2012-09/message/126,这似乎很相关,但其对我而言不明显该如何解决该