一般的javamil发送附件的代码如下:
bodypart = new mimebodypart();
datasource datasource = new filedatasource("c:测试附件.doc");
bodypart.setdatahandler(new datahandler(datasource));
bodypart.setfilename(mimeutility.encodeword("测试附件.doc","gb2312", null));
multipart.addbodypart(bodypart);
由于javamail 的包里默认的对javax.activation.datasource只有两个实现:
分别是:filedatasource和urldatasource。
因此在webapp里为了不把上传的文件再保存为本地文件,然后再使用filedatasource,
我结合apache的commons fileupload组件,写了一个实现了datasource的uploadfiledatasource。
其实代码非常简单,具体代码如下:
package com.lizongbo.util;
import java.io.*;
import javax.activation.*;
import org.apache.commons.fileupload.fileitem;
/**
* <p>title: uploadfile datasource for javamail</p>
* <p>description: </p>
* <p>copyright: copyright (c) 2005</p>
* <p>company: zongboli</p>
* @author lizongbo
* @version 1.0
*/
public class uploadfiledatasource implements datasource {
private fileitem uploadfileitem = null;
public uploadfiledatasource() {
}
public uploadfiledatasource(fileitem uploadfile) {
this.uploadfileitem = uploadfile;
}
public string getcontenttype() {
return uploadfileitem.getcontenttype();
}
public inputstream getinputstream() throws ioexception {
return uploadfileitem.getinputstream();
}
public string getname() {
return uploadfileitem.getname();
}
public outputstream getoutputstream() throws ioexception {
return null;
}
public static void main(string[] args) {
}
}
附在struts里的使用例子:
if (diskfileupload.ismultipartcontent(servletrequest)) {
让javamail直接添加上传文件为附件的DataSource代码
时间: 2024-09-21 06:36:07
让javamail直接添加上传文件为附件的DataSource代码的相关文章
js获取判断上传文件后缀名的示例代码
本篇文章主要是对js获取判断上传文件后缀名的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 代码如下: function lastname(){ //获取欲上传的文件路径 var filepath = document.getElementById("file1").value; //为了避免转义反斜杠出问题,这里将对其进行转换 var re = /(+)/g; var filename=filepath.replace(re,"#");
Struts2上传文件失败,这段代码哪里有错?
问题描述 Struts2上传文件失败,这段代码哪里有错? package com.Music.user; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random;
js获取判断上传文件后缀名的示例代码_javascript技巧
复制代码 代码如下: function lastname(){ //获取欲上传的文件路径var filepath = document.getElementById("file1").value; //为了避免转义反斜杠出问题,这里将对其进行转换var re = /(\\+)/g; var filename=filepath.replace(re,"#");//对路径字符串进行剪切截取var one=filename.split("#");//获
JSP上传文件到指定位置实例代码_JSP编程
Servlet 代码: 复制代码 代码如下: /** 直接取上传的File */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String targetPath = request.getRealPath(request.getContextPath()); // 目标存储路径,服务器部署目录下 re
php中检测上传文件类型与上传图片大小代码
代码如下 复制代码 //----------------------------------------------------------------------------------- // 函数名:CheckExtendName($C_filename,$A_extend) // 作 用:上传文件的扩展名判断 // 参 数:$C_filename 上传的文件名 // $A_extend 要求的扩展名 // 返回值:布尔值 // 备 注:无 //-------------------
asp 判断上传文件中是否存在危险代码
复制代码 代码如下: <% function CheckFileContent(FileName) dim ClientFile,ClientText,ClientContent,DangerString,DSArray,AttackFlag,k set ClientFile=Server.CreateObject("Scripting.FileSystemObject") set ClientText=ClientFile.OpenTextFile(Server.MapPath
selenium-webdriver(python) (九) 上传文件
本节重点: 上传文件 文件上传操作也比较常见功能之一,上传功能没有用到新有方法或函数,关键是思路. 上传过程一般要打开一个本地窗口,从窗口选择本地文件添加.所以,一般会卡在如何操作本地窗口添加上传文件. 其实,在selenium webdriver没我们想的那么复杂:只要定位上传按钮,通send_keys添加本地文件路径就可以了.绝对路径和相对路径都可以,关键是上传的文件存在.下面通地例子演示. upload_file.html <html> <head> <meta htt
form表单上传文件
表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码. 默认情况,enctype的编码格式是application/x-www-form-urlencoded,不能用于文件上传: 只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作. 利用表单上传文件的例子: <form id="form1" runat="server" enctype="m
ASP.NET插件uploadify批量上传文件完整使用教程_实用技巧
uploadify批量上传文件完整使用教程,供大家参考,具体内容如下 1.首先准备uploadify的js文件,网上一搜一大堆 2.上传页面UpFilePage.aspx 关键代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/h