SSH框架多图片上传功能

类似QQ相册的图片上传功能,不需要将图片信息插入数据库,只需要实现怎么将图片上传到项目下面的upload文件夹中。

struts2多图片上传实例 :http://blog.csdn.net/java_cxrs/article/details/6004144
Struts2实现图片上传功能:http://www.cnblogs.com/CheeseZH/archive/2013/03/05/2943899.html

用共享存储的方式可以,把存储挂在应用服务器上。

可以使用struts的ognl的对象数组功能实现多图上传,不过与qq上传肯定不一样,qq使用的是flash插件方式,你也可以做一个flash实现此功能,目前相当一部分网站使用的是flash实现的多文件,大文件的上传、断电续传等功能

jspsmart

的使用

上传

//

新建一个

SmartUpload

对象

SmartUpload su = new SmartUpload();

//

上传初始化

su.initialize(pageContext);

//

限制每个上传文件的最大长度。

su.setMaxFileSize(10000);

//

限制总上传数据的长度。

su.setTotalMaxFileSize(20000);

//

设定允许上传的文件(通过扩展名限制)

,

仅允许

doc,txt

文件。

su.setAllowedFilesList("doc,txt");

//

设定禁止上传的文件(通过扩展名限制)

,

禁止上传带有

exe,bat,

//jsp,htm,html

扩展名的文件和没有扩展名的文件。

su.setDeniedFilesList("exe,bat,jsp,htm,html,,");

//

上传文件

su.upload();

//

将上传文件全部保存到指定目录

int count = su.save("/upload");

下载

//

新建一个

SmartUpload

对象

SmartUpload su = new SmartUpload();

//

初始化

su.initialize(pageContext);

//

设定

contentDisposition

null

以禁止浏览器自动打开文件,

//

保证点击链接后是下载文件。若不设定,则下载的文件扩展名为

//doc

时,浏览器将自动用

word

打开它。扩展名为

pdf

时,

//

浏览器将用

acrobat

打开。

su.setContentDisposition(null);

//

下载文件

su.downloadFile("/upload/test.doc");

应用实例:

uploadimage.jsp

<%@

page

contentType="text/html;charset=gb2312"

language="java"

import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.js

psmart.upload.*,java.util.*"%>

<%

SmartUpload mySmartUpload =new SmartUpload();

long file_size_max=4000000;

String fileName2="",ext="",testvar="";

String url="Admin/upload/";

//

应保证在根目录中有此目录的存在

//

初始化

mySmartUpload.initialize(pageContext);

//

只允许上载此类文件

try {

mySmartUpload.setAllowedFilesList("jpg,gif");

//

上载文件

mySmartUpload.upload();

} catch (Exception e){

%>

alert(" 只允许上传 .jpg 和 .gif 类型图片文件 "); window.location='upload.htm';

<%

}

try{

com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);

if (myFile.isMissing()){%>

alert(" 请先选择要上传的文件 "); window.location='upload.htm';

<%}

else{

//String myFileName=myFile.getFileName(); //

取得上载的文件的文件名

ext= myFile.getFileExt();

//

取得后缀名

int file_size=myFile.getSize();

//

取得文件的大小

String saveurl="";

if(file_size<file_size_max){

//

更改文件名,取得当前上传时间的毫秒数值

Calendar calendar = Calendar.getInstance();

String filename = String.valueOf(calendar.getTimeInMillis());

saveurl=application.getRealPath("/")+url;

saveurl+=filename+"."+ext;

//

保存路径

myFile.saveAs(saveurl,SmartUpload.SA

VE_PHYSICAL);

out.print(saveurl);

String ret = "parent.HtmlEdit.focus();";

ret += "var range = parent.HtmlEdit.document.selection.createRange();"

ret

+=

"range.pasteHTML('<img

src=\""

request.getContextPath()

"/admin/upload/"

filename + "." + ext + "\">');"

ret += "alert('

上传成功!

');";

ret += "window.location='upload.htm';";

out.print("&quot; + ret + &quot;");

}

}

}catch (Exception e){

out.print(e.toString());

}

%>

upload.htm

请选择上传的图片

真棒,试一试,,,,,,