首页>代码>java servlet生成图片二维码(有/无Logo)生成和下载>/二维码生成/QRGenerator/src/com/servlet/QRDownloadServlet.java
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日
最近浏览更多
微笑刺客  LV15 2023年12月8日
19050126312  LV1 2023年10月19日
936684178  LV2 2023年6月27日
北方菜  LV11 2023年4月12日
磊哥哥哥哥  LV13 2023年4月6日
暂无贡献等级
qqwerty  LV3 2022年12月11日
与哲rhcy  LV6 2022年12月4日
张好好  LV1 2022年10月26日
Exposed  LV9 2022年10月5日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友