admin管理员组文章数量:1558061
由于苹果手机没有文件系统,本人也只是在微信公众号里做的苹果手机预览功能,以及苹果手机打开文件名乱码问题处理,安卓手机正常下载
public void UploadFile(BootdoConfig bootdoConfig, String name, String content, HttpServletResponse response, HttpServletRequest request) throws UnsupportedEncodingException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String substring = content.substring(content.indexOf("."), content.length());
//拼接
String fileName = name + substring;
//fileName = URLEncoder.encode(fileName, "utf-8");
// 设置响应MIME
if (".doc".equals(substring)) {
response.setContentType("application/msword");
} else if (".docx".equals(substring)) {
response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
} else if (".pdf".equals(substring)) {
response.setContentType("application/pdf");
} else if (".xls".equals(substring)) {
response.setContentType("application/vnd.ms-excel");
} else if (".xlsx".equals(substring)) {
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
} else if (".ppt".equals(substring)) {
response.setContentType("application/vnd.ms-powerpoint");
} else if (".pptx".equals(substring)) {
response.setContentType("application/vnd.openxmlformats-officedocument.presentationml.presentation");
} else if (".bmp".equals(substring)) {
response.setContentType("image/bmp");
} else if (".gif".equals(substring)) {
response.setContentType("image/gif");
} else if (".ief".equals(substring)) {
response.setContentType("image/ief");
} else if (".jpeg".equals(substring)) {
response.setContentType("image/jpeg");
} else if (".jpg".equals(substring)) {
response.setContentType("image/jpeg");
} else if (".png".equals(substring)) {
response.setContentType("image/png");
} else if (".tiff".equals(substring)) {
response.setContentType("image/tiff");
} else if (".tif".equals(substring)) {
response.setContentType("image/tif");
}
String agent = request.getHeader("User-Agent").toUpperCase(); //获得浏览器信息并转换为大写
if (agent.indexOf("MSIE") > 0 || (agent.indexOf("GECKO")>0 && agent.indexOf("RV:11")>0)) { //IE浏览器和Edge浏览器
fileName = URLEncoder.encode(fileName, "UTF-8");
} else { //其他浏览器
fileName = new String(fileName.getBytes("UTF-8"), "iso-8859-1");
}
response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
String path = "";
path = content.substring(content.lastIndexOf("/"), content.length());
File file = new File(bootdoConfig.getUploadPath() + path);
try {
FileInputStream inputStream = new FileInputStream(file);
//3.通过response获取ServletOutputStream对象(out)
ServletOutputStream outputStream = response.getOutputStream();
int b = 0;
byte[] buffer = new byte[1024];
while (b != -1) {
b = inputStream.read(buffer);
//4.写到输出流(out)中
outputStream.write(buffer, 0, b);
}
outputStream.flush();
outputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
一个小小的手机端微信里的下载搞了好半天,茫茫码海,仍需经历!
版权声明:本文标题:关于苹果手机预览文件以及安卓手机下载问题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1727373659a1111457.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论