用流下载图片等遇到的名称,后缀名问题
public String getObject() throws InvalidBucketNameException, NoSuchAlgorithmException, InsufficientDataException, IOException, InvalidKeyException, NoResponseException, XmlPullParserException, ErrorResponseException, InternalException, InvalidArgumentException {
HttpServletRequest request = ServletActionContext.getRequest();
fName = request.getParameter("fName");
String wxin = ConfigInfo.getPropertiesValue("s3.bucket");
byte[] str = Minoperator.getObject(wxin, imgurl);
fileNameFileName = fName;
logger.info("图片上传==============fName"+fName);
logger.info("图片上传==============bluckname"+bluckname);
HttpServletResponse response = null;
ServletOutputStream out = null;
try {
response = ServletActionContext.getResponse();
response.setContentType("multipart/form-data");
//2.设置文件头:最后一个参数是设置下载文件名(假如我们叫a.pdf),防止浏览器下载后没有文件名,后缀名就是方法名
response.setHeader("Content-Disposition", "attachment;fileName="+imgurl);
out = response.getOutputStream();
out.write(str);
//防止没有提交完全就关闭流out.close()导致的流不完整
out.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (response != null) {
try {
response.flushBuffer();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return null;
}