文件上传方式
- Socket 链接,用Stream 传输;
- Http 链接,用Stream 传输;
- Http 链接,Base64 等压缩编码的方式传输;
- Http 链接,标准文件传输协议;
Volley 数据上传接入点:
//HurlStack 类的接入点
private static void addBodyIfExists(HttpURLConnection connection, Request<?> request)
throws IOException, AuthFailureError {
byte[] body = request.getBody();
if (body != null) {
connection.setDoOutput(true);
connection.addRequestProperty(HEADER_CONTENT_TYPE, request.getBodyContentType());
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
out.write(body);
out.close();
}
}
//HttpClientStack
private static void setEntityIfNonEmptyBody(HttpEntityEnclosingRequestBase httpRequest,
Request《?》 request) throws AuthFailureError {
byte[] body = request.getBody();
if (body != null) {
HttpEntity entity = new ByteArrayEntity(body);
httpRequest.setEntity(entity);
}
}
协议简介
解析