其他分享
首页 > 其他分享> > 如何使用Android Volley库将位图图像上传到服务器?

如何使用Android Volley库将位图图像上传到服务器?

作者:互联网

如何使用Android Volley库将位图图像上传到服务器?我正在尝试使用Android Volley将图像上传到服务器.如果android volley中没有这样的选项,您能建议我最好的方法来使网络操作更快.
欢迎您向我发送与该主题相关的任何在线教程的链接的消息

解决方法:

据我所知,Volley不是将大量数据(如图像)发送到远程服务器的正确选择.无论如何,如果要发送图像,则应该扩展Request类并实现您的逻辑.
您可以以一些示例为例,这些类在工具箱包中已经可用.
否则,您可以使用HttpURLConnection并实现您的逻辑,首先必须设置:

con.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);

其中boundary是您喜欢的字符串.
然后,您必须从连接中获取输出流并开始编写零件.

public void addFilePart(String paramName, String fileName, byte[] data) throws Exception {
  os.write( (delimiter + boundary + "\r\n").getBytes());
  os.write( ("Content-Disposition: form-data; name=\"" + paramName +  "\";    filename=\"" + fileName + "\"\r\n"  ).getBytes());
  os.write( ("Content-Type: application/octet-stream\r\n"  ).getBytes());
  os.write( ("Content-Transfer-Encoding: binary\r\n"  ).getBytes());
  os.write("\r\n".getBytes());

  os.write(data);

  os.write("\r\n".getBytes());
}

等等.
我写了一个关于它的教程(因为您要链接).您可以看一下here.

如果您不喜欢HttpUrlConnection,则可以更轻松地使用Apache Http客户端.

HttpClient client = new DefaultHttpClient(); 
HttpPost post = new HttpPost(url); 

接着:

MultipartEntity multiPart = new MultipartEntity();
multiPart.addPart("param1", new StringBody(param1)); 
multiPart.addPart("param2", new StringBody(param2)); 
multiPart.addPart("file", new ByteArrayBody(baos.toByteArray(), "logo.png")); // Your image

希望对您有帮助!

标签:android-networking,android-volley,bitmap,bitmapimage,android
来源: https://codeday.me/bug/20191030/1966062.html