我正在分享使用HttpURLConnection发送带参数的图像,音频或视频文件的解决方案.参数可以是(纯字符串或JSON).
(Android客户端到PHP后端)
场景:必须上传媒体文件(带参数的音频,视频和图像).
媒体文件将存储在服务器文件夹中,参数将存储到db.
我遇到了一个问题,即在参数丢失时图像上传成功.
找到了潜在的解
如此推荐选择HttpURLConnection而不是Httpclient
您可能想知道,哪个客户最好?
Apache HTTP客户端在Eclair和Froyo上的错误更少.它是这些版本的最佳选择.
对于姜饼和更好的,HttpURLConnection是最好的选择.其简单的API和小巧的尺寸使其非常适合Android.透明压缩和响应缓存可减少网络使用,提高速度并节省电池电量.新的应用程序应该使用HttpURLConnection; 这是我们将继续投入精力的地方.
Android代码:
public int uploadFile(final String sourceFileUri) {
String fileName = sourceFileUri;
HttpURLConnection conn = null;
DataOutputStream dos = null;
String lineEnd = "\r\n";
String twoHyphens = "--";
String boundary = "*****";
int bytesRead, bytesAvailable, bufferSize;
byte[] buffer;
int maxBufferSize = 1 * 1024 * 1024;
File sourceFile = new …Run Code Online (Sandbox Code Playgroud)