@H_502_8@
我有一个jpg图像存储在我的设备上,我想将它发送到服务器(mywebsite.com/API.PHP).我想使用排球库,因为它是由谷歌的官方Android开发人员制作的,我认为他们会尽快将它添加到sdk.@H_502_8@
现在我正在使用以下代码将字符串发送到服务器:@H_502_8@
@H_502_8@
postRequest = new StringRequest(Request.Method.POST,url,new Response.Listener<String>() { @OverrIDe public voID onResponse(String response) { try { // code here for response } catch (JsONException e) { e.printstacktrace(); } } },new Response.ErrorListener() { @OverrIDe public voID onErrorResponse(VolleyError error) { // code here for error response } } ) { @OverrIDe protected Map<String,String> getParams() { Map<String,String> params = new HashMap<>(); // the POST parameters: params.put("key","myAPIKey"); params.put("data","stringOfMyData"); return params; } };
如何将jpg发送到具有齐射库的服务器?每次我发送的东西,我需要与API密钥一起发送,以便接收服务器的信息,所以我不能改变Map< String,String>映射< String,file>因为我的API密钥是一个字符串.@H_502_8@
我已经读过有一个解决方案可以将我的图像更改为byte []数组,然后将其转换为base64字符串格式,但我希望尽可能避免这种情况.@H_502_8@
有没有其他解决方案发送图像而不将其转换为base64字符串?@H_502_8@
欢迎任何参考或建议!提前致谢!@H_502_8@解决方法 在POST请求中使用多部分支持发送文件.它与HTML表单中的相同.
@H_502_8@
Volley默认没有multipart支持,但它很灵活,所以你可以扩展它的Request类来实现你自己的multipart版本.@H_502_8@
您可以从此要点中找到MultipartRequest类的一个实现,并在您的程序中使用
https://gist.github.com/ishitcno1/11394069@H_502_8@
你可以使用这样的类:@H_502_8@
@H_502_8@
HashMap<String,String> params = new HashMap<String,String>(); String url = "YOUR POST URL"; String image_path = "your local image path"; params.put("your_extra_params","value"); MultipartRequest multipartRequest = new MultipartRequest(url,params,image_path,new Response.Listener<String>() { @OverrIDe public voID onResponse(String response) { Log.e(TAG,"Success Response: " + response.toString()); } },new Response.ErrorListener() { @OverrIDe public voID onErrorResponse(VolleyError error) { if (error.networkResponse != null) { Log.e(TAG,"Error Response code: " + error.networkResponse.statusCode); try { } if (error instanceof NetworkError) { } else if (error instanceof ServerError) { } else if (error instanceof AuthFailureError) { } else if (error instanceof ParseError) { } else if (error instanceof NoConnectionError) { } else if (error instanceof TimeoutError) { } } }); requestQueue.add(multipartRequest);总结
以上是内存溢出为你收集整理的Android Volley Library:如何将图像发送到服务器?全部内容,希望文章能够帮你解决Android Volley Library:如何将图像发送到服务器?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)