SmartUpload 主要的功能是上传文件
上传图片,可以通过smartupload实现
Smartupload本身是一个免费的组件
1、配置smartupload.jar文件
TOMCAT/common/lib
2、可以进行开发
此开发依然使用form表单
对于上传图片,因为一般图片都比较大,所以只能使用post提交方式
如果要上传图片,则需要对表单的数据进行封装
例子:
sample01.htm
<form action="sample01.jsp" method="post" ENCTYPE="multipart/form-data">
选择要上传的图片:
<input type="file" name="pic">
<input type="submit" value="上传">
</form>
sample01.jsp
<jsp:useBean id="smart" scope="page" class="org.lxh.smart.SmartUpload"/>
<%
// 1、上传初始化
smart.initialize(pageContext) ;
// 2、准备上传
smart.upload() ;
// 3、保存上传的文件
smart.save("/upload") ;
%>
如果图片混合表单(输入用户名的表单)一起上传,会有什么问题?
如果表单被封装,则无法使用request直接取得输入参数
Smartupload之中为用户重新提供了一个request方法,可以取得输入内容
实验:用户输入上传图片的名称,上传后图片的名称由用户输入决定
取得上传文件的扩展名称:smart.getFiles().getFile(0).getFileExt()
保存方法:smart.getFiles().getFile(0).saveAs("/upload/"+name+"."+ext) ;