文件上传与下载/Mail

文件上传与下载

提交方式:post

表单中要有文件上传的表单项 input type=”file”而且必须有name属性

表单类型要加入 encytype=”mulitpart/form-data”

怎么获取file上传的文件呢?

在servlet中使用req.getInputStream获取所有请求体,要经过多次解析才能得到需要的东东。

FileUpLoad

file: 田 场地 领域

DiskFileItemFactory();

ServletFileUpload

       setFileSizeMax();设置单个文件大小

       setSizeMax()设置总文件大小

       setHeaderEncodintg();与req.serCharacterEnconding();一个意思

       isMultipartContent(req)//判断是否是文件上传表单

       parseRequest(req) 转换为 List<FileItem>进行遍历

              FileItem  还得判断一次是否是普通文本数据 isFormField

                     getFileName() 表单元素名称

                     getString()      表单元素名称对应的值

                     getName()   文件名

                     getContentType() 文件类型

                     getInputStream() 文件流

                     write写入文件

                     delete删除临时文件

邮箱

引入mail.jar包

Session.getDefaultInstance(properties文件)

properties文件 需要进行设置

              prop.put("mail.transport.protocol", "smtp"); // 指定协议

              prop.put("mail.smtp.host", "localhost");       // 主机   stmp.qq.com

              prop.put("mail.smtp.port", 25);                                 // 端口

              prop.put("mail.smtp.auth", "true");                     // 用户密码认证

              prop.put("mail.debug", "true");                                 // 调试模式

MailMessage(Session)

       setSubject()标题

       setSentDate()发送时间

       setSender()发送地址

       setRecipient()接收人

setText()发送内容

setTransport()

connect()发送

sendMessage()

close();

多功能用户邮件

       MimeMultipart(“related”)

              addBodyPart()

       MimeBodyPart();

              setDataHandler(new DataHandler(new FileDataSource(new file(path))))

              setContentID();设置资源名称

              setContent()设置内容文本

       Message  SetContent(related);添加到邮件中 最后发送

原文地址:https://www.cnblogs.com/core404/p/5797816.html