Android开发问题集锦六--HttpURLConnection大文件传输
程序之美
若要实现上传必须要使用Http Post 请求,因为Get 请求无法传输大文件。其中http协议中采用请求head定义表单的格式,请求body中填充传输数据。
在请求头中,参数Content-Type和Content-Length,分别表示传输的类型和传输的大小。
Content-Type:multipart/form-data; boundary=+自定义的字符串
Content-Length:请求body的数据大小
请求体中数据格式的定义
Content-Disposition: form-data; name=“file”; filename=“ss.jpg”
Content-Type: application/octet-stream; charset=UTF-8
我们按照如上的方式构造结构发送就可以了。
实现如下:
public void uploadFile(final File file, final String url){
new Thread(new Runnable() {
@Override
public void run() {
String BOUNDARY = UUID.randomUUID().toString(); //边界标识 随机生成
String PREFIX = "--" , LINE_END = "\r\n";