getattachment.java

来自「jsp全部邮件系统 jsp全部邮件系统」· Java 代码 · 共 60 行

JAVA
60
字号
package fengyun.Fastmail.servlets;

import javax.servlet.ServletException;
import javax.servlet.http.*;
import fengyun.Fastmail.beans.*;
import fengyun.Fastmail.Maildir.*;
import java.io.PrintWriter;
import java.io.IOException;

/**
 * 取回附件
 * @author fengyun
 * @version 1.00
 */

public class getAttachment extends HttpServlet {
	
    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
		
		BeansConstants CONST = BeansConstants.getInstance();
		String strFolderFrom = request.getParameter(CONST.folderid);
		String strMessageName = request.getParameter(CONST.messageid);
		String strAttachment = request.getPathInfo();
			
		if(strFolderFrom==null||strMessageName==null||strAttachment==null){
			PrintWriter out = response.getWriter();
			response.setContentType("text/html");
			out.println("ERROR:Folder name or Message name is null");
			return;
		}
		try {
			HttpSession httpsession = request.getSession(false); 
			MaildirStore store = (MaildirStore)httpsession.getAttribute(CONST.FastmailStore);
			FolderView folderview = (FolderView)httpsession.getAttribute(CONST.FastmailFolderView);
			FolderList folderlist = folderview.folderlist;
			int FolderIndex = Integer.parseInt(strFolderFrom);
			strAttachment = strAttachment.substring(1);
			strAttachment = java.net.URLDecoder.decode(strAttachment);
			MaildirFolder folder = (MaildirFolder)store.getFolder(folderlist.getFolderid(FolderIndex));
			MaildirMessage message = (MaildirMessage)folder.getMessage(strMessageName);
			AttachmentBodyPart abp = new AttachmentBodyPart(message.getAttachment(strAttachment));
			if (abp==null) {
				PrintWriter out = response.getWriter();
				response.setContentType("text/html");
				out.println("ERROR:can't find attachment");
				return;
			}
	   		abp.writeTo(response);
		}
		catch(Exception e) {
			PrintWriter out = response.getWriter();
			response.setContentType("text/html");
			out.println(e.getMessage());
			out.println("&nbsp;&nbsp;<a href='javascript:history.back()' >返回</a>");
			return;
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?