Android 更新2.0中上载图像时出现问题

Android 更新2.0中上载图像时出现问题,android,android-studio,retrofit,image-uploading,retrofit2,Android,Android Studio,Retrofit,Image Uploading,Retrofit2,首先,我使用的是改型2.0,在该图像中,首先转换为字符串,因为字符串需要传入url。主要问题是,当整个文件字节(即图像字符串)被传递到接口url时,得到的url只有我们得到的半个文件字节,即url没有完全获得。请看代码 此处为上传图像的接口定义: public interface ApiConfig { @POST("UploadDocument") Call<List<ServerResponse>> uploadFile( @Query("em

首先,我使用的是改型2.0,在该图像中,首先转换为字符串,因为字符串需要传入url。主要问题是,当整个文件字节(即图像字符串)被传递到接口url时,得到的url只有我们得到的半个文件字节,即url没有完全获得。请看代码

此处为上传图像的接口定义:

public interface ApiConfig {
 @POST("UploadDocument")
 Call<List<ServerResponse>> uploadFile(
          @Query("employeeid") String employeeid            
        , @Query("filename") String filename
        , @Query("extention") String extention
        , @Query("fileBytes") String fileBytes
);
}
以下是BtnUpload上的Setter代码:

  btnUpload.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String Filename = mediaPath.substring(mediaPath.lastIndexOf("/") + 1);
            Filename = stripExtension(Filename);
            String extension = mediaPath.substring(mediaPath.lastIndexOf("."));
            serverResponse.setFilename(Filename);                
            serverResponse.setExtention(extension);
            serverResponse.setFileBytes(encodeded);
            serverResponse.setEmployeeid("2028");
            uploadFile(serverResponse);
     });
以下是参数通过接口的主要代码:

 Call<List<ServerResponse>> call = getResponse.uploadFile(serverResponse.getEmployeeid()
                                                         , serverResponse.getFilename()
                                                         , serverResponse.getExtention()
                                                         , serverResponse.getFileBytes());

 Log.e("url", String.valueOf(call.request().url()));
形成的URL是:

E/url: http://192.168.1.55:81/services/appservices.asmx/UploadDocument?employeeid=2028&filename=IMG_20161130_101148&extention=.jpg&fileBytes=iVBORw0KGgoAAAANSUhEUgAADNAAAAcwCAIAAAAgP8/oAAAAA3NCSVQICAjb4U/gAAAgAElEQVR4%0AnKS93ZokN44leACauUempFL11ExVX86z791e7XP1xfS2SqmMcDcCZy8AkDTzSHXPrH36Uh7uZjQS%0ABPF7CMr/9X//PwAcBABARKASH0gCUFURASCEqhIW38c9cQGIL%2BPzuEREVUkC8SvjXSRF2toOABcH%0AsGEfX3o1RjL6k13K55Tktm3xirjH3c1MRLZtMzN3J6mQ8RatXpOMX%2Bt1LRtVFeEYyNrPcZFsLVtY%0ABxuPR7MkB%2BkAyDafdZvkcvfspGrcn69TubScH2hmlhMEjQ6o6ons1DE6EQ76tNbi89qxQYR1mCuJ%0ARj8H/UU5pl7Z1keinXgw3mVm443xIb4Z1Iibx%2BPubpzz4t1I9t5774RFT3rv8WV1ngB678dxUKT3%0AHq8g3czMjjkvMADwOV7VzczshYzBToP4JAVOUrCTZE0IANbY3d0dItLapF5r%2B6BbjM69x1zEK0RE%0AFOP%2Bfbl/0ATLehyfB8%2BPfgafr7O2rs24dt1Xph0vig9%2B/p7kbdsuDY7Bxj2ttcHGAFgdXnu4Pksy%0AZiGEwyabu/fk1RMLjU62RaoE3dZu03zQUwk5i6Pb7c3dSbvyNiz6rKrU%2BdNg7ZgtkhAHILGIYCIS%0AY6REU7M/VBGR%2BB%2BJsTaTEC6qqvDLxOXalO11lkVE4ReCFEtEkxARiI7Pm%2BiYi0H5oE/vvbW2bZs7%0ApsDpV8qn3Nha8PkUF/FA8vBcsMnYC9usr07eAFGyd7CNu2vcg0YyBnlrNwDUVQJLyORxAVN8NbRV%0AjK8cCEBeRLfiJOXmZ53fO6fuo0rwFc9NqW4ALFcNRSRmX%2BvZhT7V1LxszKnqNoWDzHmPZxsWyf/y%0AYXB1vD1aDiE2%2Bo/J%2BPPx4IehetCCnurugwwx6aVExqIOCrfR4K5tyJN1jV/IPt479OOV5crqADAk%0Adqwud5cWrJcjHcplFQXjXetiIQkVEWmtxdSOpRHtSykdkvS1y1MXxM2zA5%2BZOrFS8qeloXjKaUOi%0AVudtkaYN5yWDZSmRNDNp1/6M%2B3G98u3uHorq1OYiutclPNjmRDrAMCncIOPVF4k0VGdLe2/O%2BBB3%0Alwla%2BTy%2BlJDePN3p7pTUMjGD6ywAQMOVDgtltBhyvLHWna5DGNR4/TL/PNF59jnkwKUFDHvDr/Ic%0AZVqMGYw/nf2VUAC2dgs7NoTLMnGrPIzOeNB/ErkW0ZQJ4iRDBVWnNxHhYnGNVwxCrdMkIcr8ZDe6%0Au277OuOT5mjrSOelHGNfx9vQ1j/H7U105dtJcz2ZQLP91XdgKdOFdcerL/zAxWK5fL%2B2FvLkQjQA%0A0CsLrfcMysxfEfzj441DPJoZxEVk2Kvu7pTjOI7H8%2BPj4/sfv/fee38%2BHg/Czew4jo%2BPDx7P9/f3%0A7//87d/%2B7d%2B%2B/fO3x%2BPRuy9XDw/C3UMuOY6lh4tf87oiJGTL5Jby7xaPZqE8GDKzjW/CXxBZhY%2BL%0ASHLm8lS%2BcCHXhVsGP6zujIEoaVz3EUDDMq6QpQKQyvA98wUAsEjjHBQUZUtcJhcvmu56ybHcrD%2B4%0AZ1E8nPzw4zbX%2B1/afFUI%2BX0DAG0gs9tNp1jLLwkkxfInEZDTaCJj8vIt8RlAeR%2BKtBtVFaU0Ueta%0AVVtrsu0Attv%2B9vb2P/7n//zHP/7B23a/3/3tLiL2df/y5cuxyb7vt5%2B/fvnyZdv31tq%2B7/u%2BrxJp%0AfBARanP37hbTQ7LXdJMMiy4sZIOQNMrwNMecigiampkbRCR0btj5jqlEkKzYVHUTBUCVoaHmSxcJ%0AOV4RFt1q6Xm%2Buo32DcbSETfZSZqiteYqAJqIiDSfLGoKAIfE6gXJRkj5KdZERPZ9F5GbY9g/JrNj%0AEZM52AeVtphNQkQ2bWnGuEvbwvse4xLG90rSkXRT1WhHXLho3lcZHv1UVREFcGsbAIsLJGkS9k/r%0AvYcfwQrikGzpVdHM2I9B/I1C8iejiPz1YSR/MW%2Bt/Xdt%2B75/1Q8ReXu%2B997b8Xg%2Bn41G8oYngJv1%0A1toXbiRv7GaGfvTe0Q%2BScjx77yFPcH/713/917dff/3y5cv%2B00%2B32832m6rq1lTVRFV13/dt227b%0A7u7hO1lI8rxwHEfEBJzd3fHsz%2BcTj%2BfHx4e9Px6Pxx%2B///OPP/4Isu/7HUDMHVRaa9ttb6293e7b%0AtsVEf/36VUSMvm2by5zxFlE4AkA/Hh8fH8%2BP7%2B6uEHdnN/chCJP9gqtJhgWMhtZarIv97f7169f9%0A669SMcPyi6edHNwYvGTPx8fHBx%2BP4zis98fj8Xz/OI5j%2BO9h5wAzwAdA9TbkbXQp/Ttty/I/6YWw%0A1Un27qP94L0ReiJJxipr8cKVLVfjJ9l%2B2Bin0NA0FYaJtbK6u38aPwQQtpmHf721HIPI7e0eLWzb%0A9vb1y77vwzMyswbpvb%2B/v5uZQnrvG9XMcknSxxKrCFiInWkPiy%2BdaXq/37/%2B9NPb29t230Uk5Hbb%0At9vttm3bIrustbbvDcBxHM/ns9vzOI7e%2B/P5/Pj4cPewiDYBSXPvvRclxcwierzf2u12u7%2B93W63%0A/X5rrdHv27bpvoVEaq3pvm/btr/dVVUJd6dNj2bbwh7uvffj%2BTyO4zg%2Beu%2BK3nundzN7//j28fHh%0Ax9Pd1XeSgvBSFYDo9vb29tN/%2B/XLly96u4uItrZt26bbiMHG%2Bh1/xuSvnqO79%2BM4jsP6x%2BPx6I%2Bg%0AxjPucXcV%2Be233z7%2B%2BA5AjO4eMlnb/X6/t/vtfr%2BHxOCmALS12%2B12u91aa7JtrbVYesFX6QtHYNFz%0Ainvvz4%2BHmUH4eDyez6eI7GiPx%2BP9j%2B/fvn17/PG99%2B4VDnV3qLbW9tvt69evX37%2Bad937vdQpTHI%0A1tp2v93v91jj0YFNszPB2r13msVqej6fj8ej9z7iuiTFaGb2eP6v//W/nt%2B%2Bj3h1dLu1dr/f//b3%0A/3G73bb71lrzJq012ZqqNr1HkCqEz9CqoQvipSh%2BIOl2PB6Px%2BMRUtrd7ejHcaDb8/n8%2BP798Xj0%0A5/M4jliGYaVYk59//vmvf//vX79%2BjfUVMZy//OUvt9sNIq01l%2Bk9SWUW4u1mJvDjOOzx7L1HVCHk%0AZyiv/jxIfv/j93//938/Hu/HcaQhRAVgYTxRRWT76e1vf/vbL7/80lpr26aqsrV930Vb8GFYPovn%0AMqXZx/F8f3/vj6eZqdDd5TAz47P33nl0M3v//dvvv/8eob8MeKKpKigkf/7Lr
URL filebytes的获取时间已过一半,因此如何解决此问题希望您了解问题所在。除此之外,一切正常……它取代了%oA而不是filebytes中的空格

编辑:现在我传递的是字节[],而不是字符串

@Query("fileBytes") byte[] fileBytes
最近的URL类似于:

E/url: http://192.168.1.55:81/services/appservices.asmx/UploadFile?employeeid=2028&filename=IMG_20170302_152931&extention=.jpg&fileBytes=-1&fileBytes=-40&fileBytes=-1&fileBytes=-32&fileBytes=0&fileBytes=16&fileBytes=74&fileBytes=70&fileBytes=73&fileBytes=70&fileBytes=0&fileBytes=1&fileBytes=1&fileBytes=0&fileBytes=0&fileBytes=1&fileBytes=0&fileBytes=1&fileBytes=0&fileBytes=0&fileBytes=-1&fileBytes=-37&fileBytes=0&fileBytes=67&fileBytes=0&fileBytes=16&fileBytes=11&fileBytes=12&fileBytes=14&fileBytes=12&fileBytes=10&fileBytes=16&fileBytes=14&fileBytes=13&fileBytes=14&fileBytes=18&fileBytes=17&fileBytes=16&fileBytes=19&fileBytes=24&fileBytes=40&fileBytes=26&fileBytes=24&fileBytes=22&fileBytes=22&fileBytes=24&fileBytes=49&fileBytes=35&fileBytes=37&fileBytes=29&fileBytes=40&fileBytes=58&fileBytes=51&fileBytes=61&fileBytes=60&fileBytes=57&fileBytes=51&fileBytes=56&fileBytes=55&fileBytes=64&fileBytes=72&fileBytes=92&fileBytes=78&fileBytes=64&fileBytes=68&fileBytes=87&fileBytes=69&fileBytes=55&fileBytes=56&fileBytes=80&fileBytes=109&fileBytes=81&fileBytes=87&fileBytes=95&fileBytes=98&fileBytes=103&fileBytes=104&fileBytes=103&fileBytes=62&fileBytes=77&fileBytes=113&fileBytes=121&fileBytes=112&fileBytes=100&fileBytes=120&fileBytes=92&fileBytes=101&fileBytes=103&fileBytes=99&fileBytes=-1&fileBytes=-37&fileBytes=0&fileBytes=67&fileBytes=1&fileBytes=17&fileBytes=18&fileBytes=18&fileBytes=24&fileBytes=21&fileBytes=24&fileBytes=47&fileBytes=26&fileBytes=26&fileBytes=47&fileBytes=99&fileBytes=66&fileBytes=56&fileBytes=66&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=-1&fileBytes=-64&fileBytes=0&fileBytes=17&fileBytes=8&fileBytes=5&fileBytes=-96&fileBytes=10&fileBytes=0&fileBytes=3&fileBytes=1&fileBytes=34&fileBytes=0&fileBytes=2&fileBytes=17&fileBytes=1&fileBytes=3&fileBytes=17&fileBytes=1&fileBytes=-1&fileBytes=-60&fileBytes=0&fileBytes=31&fileBytes=0&fileBytes=0&fileBytes=1&fileBytes=5&fileBytes=1&fileBytes=1&fileBytes=1&fileBytes=1&fileBytes=1&fileBytes=1&fileBytes=0&fileBytes=0&fileBytes=0&fileBytes=0&fileBytes=0&fileBytes=0&fileBytes=0&fileBytes=0&fileBytes=1&fileBytes=2&fileBytes=3&fileBytes=4&fileBytes=5&fileBytes=6&fileBytes=7&fileBytes=8&fileBytes=9&fileBytes=10&fileBytes=11&fileBytes=-1&fileBytes=-60&fileBytes=0&fileBytes=-75&fileBytes=16&fileBytes=0&fileBytes=2&fileBytes=1&fileBytes=3&fileBytes=3&fileBytes=2&fileBytes=4&fileBytes=3&fileBytes=5&fileBytes=5&fileBytes=4&fileBytes=4&fileBytes=0&fileBytes=0&fileBytes=1&fileBytes=125&fileBytes=1&fileBytes=2&fileBytes=3&fileBytes=0&fileBytes=4&fileBytes=17&fileBytes=5&fileBytes=18&fileBytes=33&fileBytes=49&fileBytes=65&fileBytes=6&fileBytes=19&fileBytes=81&fileBytes=97&fileBytes=7&fileBytes=34&fileBytes=113&fileBytes=20&fileBytes=50&fileBytes=-127&fileBytes=-111&fileBytes=-95&fileBytes=8&fileBytes=35&fileBytes=66&fileBytes=-79&fileBytes=-63&fileBytes=21&fileBytes=82&fileBytes=-47&fileBytes=-16&fileBytes=36&fileBytes=51&fileBytes=98&fileBytes=114&fileBytes=-126&fileBytes=9&fileBytes=10&fileBytes=22&fileBytes=23&fileBytes=24&fileBytes=25&fileBytes=26&fileBytes=37&fileBytes=38&fileBy

谢谢你

但是通过一个旧方法httpclient,我传递了相同的字符串作为参数,并且被罚款了…那么为什么不在这个改型中?在改型中使用multi-part来上传图像是的,但是sir仍然只能使用字符串格式??使用@Multipart将图像上传到后端并以文件格式发送图像,类似于调用changeProfilePicture(@Part MultipartBody.Part file);请看我编辑的问题,我传递的是byte[]而不是String现在url不同了…没有得到问题是什么
@Query("fileBytes") byte[] fileBytes
E/url: http://192.168.1.55:81/services/appservices.asmx/UploadFile?employeeid=2028&filename=IMG_20170302_152931&extention=.jpg&fileBytes=-1&fileBytes=-40&fileBytes=-1&fileBytes=-32&fileBytes=0&fileBytes=16&fileBytes=74&fileBytes=70&fileBytes=73&fileBytes=70&fileBytes=0&fileBytes=1&fileBytes=1&fileBytes=0&fileBytes=0&fileBytes=1&fileBytes=0&fileBytes=1&fileBytes=0&fileBytes=0&fileBytes=-1&fileBytes=-37&fileBytes=0&fileBytes=67&fileBytes=0&fileBytes=16&fileBytes=11&fileBytes=12&fileBytes=14&fileBytes=12&fileBytes=10&fileBytes=16&fileBytes=14&fileBytes=13&fileBytes=14&fileBytes=18&fileBytes=17&fileBytes=16&fileBytes=19&fileBytes=24&fileBytes=40&fileBytes=26&fileBytes=24&fileBytes=22&fileBytes=22&fileBytes=24&fileBytes=49&fileBytes=35&fileBytes=37&fileBytes=29&fileBytes=40&fileBytes=58&fileBytes=51&fileBytes=61&fileBytes=60&fileBytes=57&fileBytes=51&fileBytes=56&fileBytes=55&fileBytes=64&fileBytes=72&fileBytes=92&fileBytes=78&fileBytes=64&fileBytes=68&fileBytes=87&fileBytes=69&fileBytes=55&fileBytes=56&fileBytes=80&fileBytes=109&fileBytes=81&fileBytes=87&fileBytes=95&fileBytes=98&fileBytes=103&fileBytes=104&fileBytes=103&fileBytes=62&fileBytes=77&fileBytes=113&fileBytes=121&fileBytes=112&fileBytes=100&fileBytes=120&fileBytes=92&fileBytes=101&fileBytes=103&fileBytes=99&fileBytes=-1&fileBytes=-37&fileBytes=0&fileBytes=67&fileBytes=1&fileBytes=17&fileBytes=18&fileBytes=18&fileBytes=24&fileBytes=21&fileBytes=24&fileBytes=47&fileBytes=26&fileBytes=26&fileBytes=47&fileBytes=99&fileBytes=66&fileBytes=56&fileBytes=66&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=99&fileBytes=-1&fileBytes=-64&fileBytes=0&fileBytes=17&fileBytes=8&fileBytes=5&fileBytes=-96&fileBytes=10&fileBytes=0&fileBytes=3&fileBytes=1&fileBytes=34&fileBytes=0&fileBytes=2&fileBytes=17&fileBytes=1&fileBytes=3&fileBytes=17&fileBytes=1&fileBytes=-1&fileBytes=-60&fileBytes=0&fileBytes=31&fileBytes=0&fileBytes=0&fileBytes=1&fileBytes=5&fileBytes=1&fileBytes=1&fileBytes=1&fileBytes=1&fileBytes=1&fileBytes=1&fileBytes=0&fileBytes=0&fileBytes=0&fileBytes=0&fileBytes=0&fileBytes=0&fileBytes=0&fileBytes=0&fileBytes=1&fileBytes=2&fileBytes=3&fileBytes=4&fileBytes=5&fileBytes=6&fileBytes=7&fileBytes=8&fileBytes=9&fileBytes=10&fileBytes=11&fileBytes=-1&fileBytes=-60&fileBytes=0&fileBytes=-75&fileBytes=16&fileBytes=0&fileBytes=2&fileBytes=1&fileBytes=3&fileBytes=3&fileBytes=2&fileBytes=4&fileBytes=3&fileBytes=5&fileBytes=5&fileBytes=4&fileBytes=4&fileBytes=0&fileBytes=0&fileBytes=1&fileBytes=125&fileBytes=1&fileBytes=2&fileBytes=3&fileBytes=0&fileBytes=4&fileBytes=17&fileBytes=5&fileBytes=18&fileBytes=33&fileBytes=49&fileBytes=65&fileBytes=6&fileBytes=19&fileBytes=81&fileBytes=97&fileBytes=7&fileBytes=34&fileBytes=113&fileBytes=20&fileBytes=50&fileBytes=-127&fileBytes=-111&fileBytes=-95&fileBytes=8&fileBytes=35&fileBytes=66&fileBytes=-79&fileBytes=-63&fileBytes=21&fileBytes=82&fileBytes=-47&fileBytes=-16&fileBytes=36&fileBytes=51&fileBytes=98&fileBytes=114&fileBytes=-126&fileBytes=9&fileBytes=10&fileBytes=22&fileBytes=23&fileBytes=24&fileBytes=25&fileBytes=26&fileBytes=37&fileBytes=38&fileBy