package com.servlet; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.net.URLEncoder; import java.util.Iterator; import java.util.List; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.RequestContext; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.fileupload.servlet.ServletRequestContext; import org.apache.commons.io.FileUtils; import com.constant.FileUploadConstant; import com.constant.LogoEnum; import com.google.zxing.common.StringUtils; import com.util.QRCodeUtil; import com.util.UniqueUtil; public class QRDownloadServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub super.doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub String qrName = req.getParameter("qrName"); String qrPath = req.getServletContext().getRealPath(FileUploadConstant.QR_PATH)+File.separator+qrName; File file = new File(qrPath); if(file.exists()){ String filename = URLEncoder.encode(file.getName(), "utf-8"); resp.reset(); resp.addHeader("Content-Disposition", "attachment; filename=\"" + filename + "\""); int fileLength = (int) file.length(); resp.setContentLength(fileLength); /*如果文件长度大于0*/ if (fileLength != 0) { /*创建输入流*/ InputStream inStream = new FileInputStream(file); byte[] buf = new byte[4096]; /*创建输出流*/ ServletOutputStream servletOS = resp.getOutputStream(); int readLength; while (((readLength = inStream.read(buf)) != -1)) { servletOS.write(buf, 0, readLength); } inStream.close(); servletOS.flush(); servletOS.close(); } } } }
最近下载更多
磊哥哥哥哥 LV13
2023年4月6日
xuexizhuanyong23 LV16
2022年3月23日
asdfg01234 LV10
2022年1月19日
liwei11904 LV5
2021年11月20日
13043860zj LV16
2021年6月21日
liu222 LV7
2021年5月6日
haiyan666 LV1
2021年3月29日
wjhnbwjh LV2
2020年11月28日
mvbbb123 LV5
2020年11月1日
kong.yee LV40
2020年9月7日