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日