转载自:Response 输出方式,输出字符和文件流_ZxmSeed
private
void
downloadFile(HttpServletRequest request, HttpServletResponse response)
throws
Exception {
String wechatUrl = request.getParameter(
"wechatUrl"
);
String access_token = request.getParameter(
"access_token"
);
String mediaId = request.getParameter(
"media_id"
);
System.out.println(
"===>mediaId:"
+ mediaId);
StringBuffer sb =
new
StringBuffer();
sb.append(wechatUrl).append(
"?access_token="
).append(access_token).append(
"&media_id="
).append(mediaId);
URL _url =
new
URL(sb.toString());
HttpURLConnection conn = (HttpURLConnection) _url.openConnection();
// 连接超时
conn.setConnectTimeout(
25000
);
// 读取超时 --服务器响应比较慢,增大时间
conn.setReadTimeout(
25000
);
conn.setRequestMethod(
"POST"
);
conn.setRequestProperty(
"Content-Type"
,
"Keep-Alive"
);
conn.setRequestProperty(
"User-Agent"
, HttpRequest.DEFAULT_USER_AGENT);
conn.setDoOutput(
true
);
conn.setDoInput(
true
);
conn.connect();
String ds = conn.getHeaderField(
"Content-disposition"
);
response.setHeader(
"Content-disposition"
, ds);
OutputStream outputStream =
null
;
try
{
outputStream = response.getOutputStream();
InputStream istram = conn.getInputStream();
int
read;
while
((read = istram.read()) != -
1
) {
outputStream.write(read);
}
outputStream.flush();
}
catch
(Exception e) {
}
finally
{
if
(outputStream !=
null
) {
try
{
outputStream.close();
}
catch
(IOException e) {
e.printStackTrace();
}
}
if
(conn !=
null
) {
conn.disconnect();
}
}
}