SmartUpload
来源:互联网 发布:nexus7跳过网络验证 编辑:程序博客网 时间:2024/06/05 10:50
SmartUpload主要功能是上传文件
上传图片:可以通过smartUpload实现
1. 配置smartupload.jar文件
把smartupload.jar文件复制到C:/Program Files/Apache Software Foundation/Tomcat 5.0/common/lib文件夹下
2. 可以进行开发
此开发依然用form表单(test/smart文件夹下)
对于上传图片,因为一般图片都比较大,所以只能使用post提交方式
如果上传图片,则需要对表单的数据进行封装
如何封装:如下代码
<form action="sample01.jsp" method="post"ENCTYPE="multipart/form-data">//红色部分表示对数据进行了封装
选择要上传的文件
<input type="file" name="pic">
<input type="submit" value="上传">
</form>
如果图片混合表单(输入用户名的表单)一起上传,会有什么问题
如果表单被封装,则无法使用request直接取得输入参数,如下代码
form action="sample02.jsp" method="post" ENCTYPE="multipart/form-data">
输入名字
<input type="text" name="name">
选择要上传的文件
<input type="file" name="pic">
<input type="submit" value="上传">
</form>
<jsp:useBean id="smart" scope="page" class="org.lxh.smart.SmartUpload"/>
//上面的是导入包
<%--
// 1、上传初始化
smart.initialize(pageContext) ;
// 2、准备上传
smart.upload() ;
// 3、保存上传的文件
smart.save("/upload");
--%>
<%
String name= request.getParameter("name");
%>
<%=name%>
安了浏览和上传后,跳转到sample02.jsp会输出null,原因:表单被封被
输入的结果是: null
解决如下:
这个方法是smart中的Request方法
String name= smart.getRequest().getParameter("name");
可以输出txt文件中的内容
实验:用户输入上传图片名称,上传后的名称由用户输入决定
但它的后缀不能改变,所以先改变它的后缀
在eclipse中加入smartupload.jar包
首先建立一个test工程,再单击工程名右键找到属性/java构建路径/库添加外部JAR/浏览找到文件即可
su.getFiles().getFile(0).getFileExt();//取得扩展名称
保存文件:保存输入的文件名和扩展名
smart.getFiles().getFile(0).saveAs("/upload/"+name+"."+ext);
文件只有一个所以从0开始
附加:
servlet中使用smartupload组件/
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
SmartUpload mySmartUpload = new SmartUpload();
String currentDirectoryPath=null;
String savePath="E:/public_html/java_root/NETDISK/WebRoot/NET_SPACE/1/我的音乐/";
//mySmartUpload.setDenyPhysicalPath(true);
mySmartUpload.setForcePhysicalPath(true);
mySmartUpload.initialize(this.getServletConfig(), request,response);
// 设定上传限制
// 1.限制每个上传文件的最大长度。10M
mySmartUpload.setMaxFileSize(10000000);
// 2.限制总上传数据的长度。
// mySmartUpload.setTotalMaxFileSize(20000);
// 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
// mySmartUpload.setAllowedFilesList("doc,txt");
// 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat, jsp,htm,html扩展名的文件和没有扩展名的文件。
// mySmartUpload.setDeniedFilesList("exe,bat,jsp,htm,html,,");
// Deny physical path
try {
mySmartUpload.upload();
} catch (SmartUploadException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//读取其它数据
com.jspsmart.upload.Request req = mySmartUpload.getRequest();
String title = req.getParameter("dest");
//保存文件
for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {
com.jspsmart.upload.File file = mySmartUpload.getFiles().getFile(i);
if (file.isMissing()) continue;
try {
file.saveAs(savePath+file.getFileName());
} catch (SmartUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
logger.info("e:"+e);
}
}
out.println("dest:"+title);
out.close();
- SmartUpload
- smartupload
- smartupload
- SmartUpload
- SmartUpload
- SmartUpload
- smartUpload源代码
- smartupload上传
- SmartUpload上传
- 简单smartupload
- smartupload -- api
- SmartUpload上传
- SmartUpload上传下载
- smartUpload 应用
- SmartUpload综合
- Smartupload 用法
- SmartUpload用法
- SmartUpload综合
- 有状态bean和无状态bean是在说什么
- poj acm 1050 最大子矩阵
- hdu 2222 Keywords Search AC自动机
- 专题笔记--Java 类集框架
- 网站可用性设计中 不容忽略的30个基础原则
- SmartUpload
- 看了这部动画片的C++
- 云计算,中国发展的必由之路
- Android的Handler总结
- zend studio常见问题解答
- Background Modes in iOS Tutorial
- 系统管理员感谢日:你有什么愿望?
- EM算法
- R3 枚举进程