1.上传插件的选择:此篇博文选择的是jQuery的zyupload文件上传插件;
2.上传请求发起后,java代码的处理:你是要将上传的图片只保存在服务器还是只保存在数据库还是说两者都采取。上传到服务器很简单,保存到数据库也很简单,但是此处需要考虑业务,图片保存在数据库时采用哪种保存方式(本博文业务来自于项目,因为图片数量巨多,故在数据库是通过保存图片的路径实现的,并非二进制流);
3.图片保存在数据库后,在前段页面的回显功能。
用jspSmartUpload组件来实现,用jsp+servlet在Servlet里实现的代码:PrintWriter out = response.getWriter()
int count = 0
// 实例化上传控件对象
SmartUpload su = new SmartUpload()
// 初始化 *** 作
su.initialize(config, request, response)
// 设置上传文件最大字节数
su.setTotalMaxFileSize(100000)
//
try {
//禁止上传指定扩展名的文件
su.setDeniedFilesList("ext,bat,jsp")
} catch (SQLException e1) {
e1.printStackTrace()
}
try {
// 上传文件到服务器
su.upload()
File fileup = new File(request.getRealPath("upload"))
if(!fileup.exists()){
// 创建目录
fileup.mkdir()
}
// 处理多个文件的上传
for(int i = 0i <su.getFiles().getCount()i++){
com.jspsmart.upload.File file = su.getFiles().getFile(i)
if(!file.isMissing()){ // 如果文件有效
// 保存文件到指定上传目录
file.saveAs("/upload/new."+file.getFileExt(), su.SAVE_VIRTUAL)
count = su.save("/upload")
}
}
} catch (SmartUploadException e) {
e.printStackTrace()
}
out.println(count +"file(s) uploaded")
如果你对这个上传组件不了解,最好是先去查查用法。。。
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)