改造图片上传错误

时间:2018-08-01 18:46:05

标签: android retrofit2

我正在使用Retrofit2库发出multipart / form-data请求。

它可以完美地连接到服务器,但是由于我上传的图像格式不正确,我得到了500的响应。

下面是API接口

 @Multipart
@POST("employee/register")
Call<RegistrationBean> createRegistrationCall(@Part("last_name") RequestBody lastName,
                                              @Part("first_name") RequestBody firstName,
                                              @Part("profile_pic\"; filename=\"img.png\" ") RequestBody file,
                                              @Part("blood_group_id") RequestBody bloodGroup,
                                              @Part("contact_no") RequestBody contactNo,
                                              @Part("emergency_contact_no") RequestBody emergencyContactNo,
                                              @Part("address") RequestBody address,
                                              @Part("company_id") RequestBody companyId);

下面是请求

 File file = null;

    if (imageData!=null){

        Uri tempURI = CameraAdapter.getImageUri(getActivity(),CameraAdapter.ByteArrayToBitmap(imageData));
        file = new File( CameraAdapter.getRealPathFromURI(tempURI,getActivity()));
    }

    RequestBody profile = RequestBody.create(MediaType.parse("image/*"), file);
    RequestBody lname = RequestBody.create(MediaType.parse("text/plain"), editLName.getText().toString());
    RequestBody fname = RequestBody.create(MediaType.parse("text/plain"), editFName.getText().toString());
    RequestBody blGourp = RequestBody.create(MediaType.parse("text/plain"),bloodHash.get(spinBlood.getSelectedItem().toString()));
    RequestBody contact = RequestBody.create(MediaType.parse("text/plain"), editContact.getText().toString());
    RequestBody emContact = RequestBody.create(MediaType.parse("text/plain"),editEmergencyContact.getText().toString());
    RequestBody address = RequestBody.create(MediaType.parse("text/plain"), editAdd.getText().toString());
    RequestBody companyId = RequestBody.create(MediaType.parse("text/plain"), preferences.getString("companyId","null"));

    Call<RegistrationBean> call = apiInterface.createRegistrationCall(lname,fname,profile,blGourp,contact,emContact,address,companyId);

以下是图像字段的日志

  
    

D / OkHttp:内容处置:表单数据; name =“ profile_pic”; filename =“ img.png”“ D / OkHttp:Content-Transfer-Encoding:二进制     D / OkHttp:内容类型:image / * D / OkHttp:内容长度:8053     D / OkHttp:������JFIF����������������C��D / OkHttp:     (1#%(:3 = <9387 @ H \ N @ DWE78PmQW_bghg> Mqypdx \egc����C//cB8Bcccccccccccccccccccccccccccccccccccccccccccccccccccccc��������'' !1AQaq”“#2BR�3CSb��$Dc.4r�T.�� ������������� ������!1AQ“a��������?�H。@������������������������������������� �����������������������䀨���?E��     N�栟=�E^ B!UP2�i0�/S�x���      �������������������������������������������������������������� ������<��P@�     D / OkHttp:     / ����ϊ���"�����������y�x�)����������@�����������������������������������E���������TTPP����������0���v.LA��1�S�Ph.0�^I���@�����@������@��������������Q@��������������WN���c���u�N���YFuO-O�Gr�6����/����u��������㠺B���l��v���{pu!�W᭾߆��L�፮y�N?��F=~��}(�l��o3�h�v�͘zj�/3�Gx�:�-��zT��0���Wg��ԟ�l���$s�����G���v�5՟Vu�s����������������������5= lvv {�v{�B����}}Yl�ðVx���yGη -�d��?�G���= ^���Z��Y�Sh��h�O* Z}F˭<#J�ϣζ��r'����?v �> U = <|�6�q�O�qћd��} O헾�͞'.ϱ ^��ٴ����t�6��:�HN?���>cO���� i���K���Fq,��HO��= ^�v��R}d��?��S9G�X���)���}�c��� �v���}X���P�I�3_�v�筥���M^ݣN;ޏ叹�V��B��|'h。; U }!Nݪ3�k�H�d�I���Mt��WC?��*�vh�mmI。     D / OkHttp:����������z���+��D / OkHttp:     --b41845ce-940a-4560-a889-b67bfeee33be

  

0 个答案:

没有答案