当前位置:首页 » 文件传输 » javaweb批量上传图片
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

javaweb批量上传图片

发布时间: 2022-02-13 17:08:06

㈠ java图片批量上传代码

用struts也可以实现 多文件上传
下面是我写的代码,作为参考!

/*文件目录*/
public static String [] fileArray={
"logo.png",
"index.swf",
"OEMInfo.txt",
"favicon.ico"};

/**
* @author Caoshun
* @see 接收并保存文件
* */
public static void receiveAndSaveAllFileByPath(ActionForm form,String rootPath1,String rootPath2){
String fileName="";
//获取表单中的文件资源
Hashtable<Object, Object> files = form.getMultipartRequestHandler().getFileElements();
//遍历文件,并且循环保存
//当前处理文件序号
int file_num=1;
for (Enumeration<Object> e = files.keys(); e.hasMoreElements();) {

/*根据处理的当前文件下标,确定文件名*/
fileName=fileArray[file_num-1];

FormFile file = (FormFile) files.get((String) e.nextElement());
if (file != null && file.getFileSize() > 0) {
try {
//使用formfile.getInputStream()来获取一个文件的输入流进行保存。
//文件名
//String fileName = file.getFileName();
//System.out.println("debug in AddEnterpriceAction.java on line 152 fileName is : "+fileName);
//文件大小
//int fileSize = file.getFileSize();
//文件流
InputStream is = file.getInputStream();
//将输入流保存到文件
//String rootPath = this.servlet.getServletContext().getRealPath("files");

//往cn中写入
File rf = new File(rootPath1);
FileOutputStream fos = null;
fos = new FileOutputStream(new File(rf, fileName));
byte[] b = new byte[10240];
int real = 0;
real = is.read(b);
while (real > 0) {
fos.write(b, 0, real);
real = is.read(b);
}

//往en中写入
File rf2 = new File(rootPath2);
InputStream is2 = file.getInputStream();
FileOutputStream fos2 = null;
fos2 = new FileOutputStream(new File(rf2, fileName));
byte[] b2 = new byte[10240];
int real2 = 0;
real2 = is2.read(b2);
while (real2 > 0) {
fos2.write(b2, 0, real2);
real2 = is2.read(b2);
}

//关闭文件流
fos.close();
is.close();
fos2.close();
is2.close();
} catch (RuntimeException e1) {
e1.printStackTrace();
} catch (Exception ee) {
ee.printStackTrace();
}
file.destroy();

}
file_num++;
}
}

㈡ javaWeb如何实现想QQ空间图片预览的效果以及图片批量上传最好有实例

1:点击自定义。
2:点击右侧的新建模块→点击图片模块。
3:模块名称随便,用一个空格最好,图片地址上输入图片的地址,再点击“更多设置”,只设置图片的宽高度(以图片的大小而定)就可以了,背景、边框选择无,确定保存。
4:用鼠标调整一下图片的大小,让整个图片完全显示。
5:接着点击模块管理→把“互动”以上的模块前面的√全部去掉,然后再把需要显示的模块打√,这样“日志”、“留言”、“个人形象”或“音乐收藏”就显示在大图模块的上面了。确定保存。OK。

㈢ javaWEB项目中如何实现批量选择文件并上传呢有什

jqueryuploadify批量上传控件[html] 还有jqueryjs,你懂得!这里注意哦,css文件会引用到这个图片哦,所以请你指定这个图片的位置哦,不然就没有显示这个叉叉哦,这个叉叉是删除按钮的哦,没有就是空白哦![javascript] function snedUpLoad(){ var pijavaWEB项目中如何实现批量选择文件并上传呢?有什

㈣ java web 中批量上传某文件夹里所有文件,要怎么实现,不要用active控件

如果你学过struts2的话就知道怎么上传 可以批量上传 比较容易 其实 现在有很多都是图形化界面写文件上传 在网上找找这样的IDE吧

㈤ 图片批量上传web代码

用这个插件吧,jspsmartupload
upload.html页面
<html>
<head>
<title>文件上传</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<p></p>
<p align="center">上传文件选择</p>
<FORM METHOD="POST" ACTION="jsp/do_upload.jsp"
ENCTYPE="multipart/form-data">
<input type="hidden" name="TEST" value="good">
<table width="75%" border="1" align="center">
<tr>
<td><div align="center">1、
<input type="FILE" name="FILE1" size="30">
</div></td>
</tr>
<tr>
<td><div align="center">2、
<input type="FILE" name="FILE2" size="30">
</div></td>
</tr>
<tr>
<td><div align="center">3、
<input type="FILE" name="FILE3" size="30">
</div></td>
</tr>
<tr>
<td><div align="center">4、
<input type="FILE" name="FILE4" size="30">
</div></td>
</tr>
<tr>
<td><div align="center">
<input type="submit" name="Submit" value="上传它!">
</div></td>
</tr>
</table>
</FORM>
</body>
</html>

do_upload.jsp页面

<%@ page contentType="text/html; charset=gb2312" language="java"
import="java.util.*,com.jspsmart.upload.*" errorPage="" %>
<html>
<head>
<title>文件上传处理页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<%
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 上传初始化
su.initialize(pageContext);
// 设定上传限制
// 1.限制每个上传文件的最大长度。
// su.setMaxFileSize(10000);
// 2.限制总上传数据的长度。
// su.setTotalMaxFileSize(20000);
// 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
// su.setAllowedFilesList("doc,txt");
// 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,
jsp,htm,html扩展名的文件和没有扩展名的文件。
// su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
// 上传文件
su.upload();
// 将上传文件全部保存到指定目录
int count = su.save("/upload");
out.PRintln(count+"个文件上传成功!<br>");

// 利用Request对象获取参数之值
out.println("TEST="+su.getRequest().getParameter("TEST")
+"<BR><BR>");

// 逐一提取上传文件信息,同时可保存文件。
for (int i=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.File file = su.getFiles().getFile(i);

// 若文件不存在则继续
if (file.isMissing()) continue;

// 显示当前文件信息
out.println("<TABLE BORDER=1>");
out.println("<TR><TD>表单项名(FieldName)</TD><TD>"
+ file.getFieldName() + "</TD></TR>");
out.println("<TR><TD>文件长度(Size)</TD><TD>" +
file.getSize() + "</TD></TR>");
out.println("<TR><TD>文件名(FileName)</TD><TD>"
+ file.getFileName() + "</TD></TR>");
out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>"
+ file.getFileExt() + "</TD></TR>");
out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"
+ file.getFilePathName() + "</TD></TR>");
out.println("</TABLE><BR>");

// 将文件另存
// file.saveAs("/upload/" + myFile.getFileName());
// 另存到以WEB应用程序的根目录为文件根目录的目录下
// file.saveAs("/upload/" + myFile.getFileName(),
su.SAVE_VIRTUAL);
// 另存到操作系统的根目录为文件根目录的目录下
// file.saveAs("c:\\temp\\" + myFile.getFileName(),
su.SAVE_PHYSICAL);

}
%>
</body>
</html>

参考资料来源:http://www.knowsky.com/3136.html

呵呵 正好前端时间我 也用到了

㈥ 用java如何一次性上传多张图片到数据库

fileupload组件,多个file输入框,上传多张图片,然后循环把每张图片分别入库。

㈦ 用java完成图片多张批量上传的功能,还有就是后台的应该怎么处理上传的照片。

/*
*图片上传参数
*/
private File[] images;
private String[] imagesFileName;
private String[] imagesContentType;
加get set方法

req=ServletActionContext.getRequest();
//增加商品字段到数据库
Proct proct=new Proct();
ProctCategory proctCategory=null;
ProctCategoryBiz pcb=new ProctCategoryBizImpl();
System.out.println("third is:"+third_id+"ok");
if(third_id.equals("")){
proctCategory=pcb.getCategory(Integer.parseInt(second_id));
}else{
proctCategory=pcb.getCategory(Integer.parseInt(third_id));
}
proct.setCategory(proctCategory);
proct.setName(name);
proct.setPrice(Double.valueOf(price));
proct.setStock(Integer.parseInt(stock));
//上传图片到服务器
String fileType = null;
String fileName = "";
if(pb.addProct(proct)){
for (int i = 0; i < images.length; i++) {
fileType = imagesFileName[i].substring(imagesFileName[i]
.lastIndexOf("."));
fileName = (new Date().getTime() + i + 1) + fileType;
File imageFile = new File(ServletActionContext.getServletContext()
.getRealPath("/files")
+ "/" + fileName);
(images[i], imageFile);
addImages("files/"+fileName);
System.out.println("路径"+imageFile);
}
req.setAttribute("msg", "商品添加成功!");
return "success";
}else{
req.setAttribute("msg", "商品添加失败!");
return "input";
}

㈧ 哪位大虾帮个忙,给个用javaWeb做的批量上传图片,类似于开心网或是QQ相册批量上传文件,从网上搜一大堆说

大哥,你QQ拒绝添加。
我:805599325 专注
谢谢了!

㈨ java批量上传图片的web项目

用jspSmartUpload组件来实现,用jsp+servlet在Servlet里实现的代码:PrintWriter out = response.getWriter(); int count = 0; // 实例化上传控件对象 SmartUpload su = new SmartUpload(); // 初始化操作 su.initialize

㈩ javaWEB项目中如何实现批量选择文件并上传呢有什么好的插件,最好有相关代码例子

jquery.uploadify批量上传控件
[html]
<linkhref="styles/uploadify.css"rel="stylesheet"type="text/css"/>
<scripttype="text/javascript"src="styles/uploadify.swf"></script>
<scripttype="text/javascript"src="javascripts/jquery.uploadify.min.js"></script>
<linkhref="styles/uploadify.css"rel="stylesheet"type="text/css"/>
<scripttype="text/javascript"src="styles/uploadify.swf"></script>
<scripttype="text/javascript"src="javascripts/jquery.uploadify.min.js"></script>还有jquery.js,你懂得!
这里注意哦,css文件会引用到这个图片哦,所以请你指定这个图片的位置哦,不然就没有显示这个叉叉哦,这个叉叉是删除按钮的哦,没有就是空白哦!


[javascript]
<script>
functionsnedUpLoad(){
varpid=$("#entityId").val();//这个是我自己获取的自定义参数
varentityName=$("#entityName").val();//同上
$("#uploadify").uploadify({//初始化uploadifyuploadify是input的id
//'debug':false,//bug模式,默认是false
'auto':false,//自动上传,就是控件自动上传,默认是true
'multi':true,
//'successTimeout':99999,//超时时间
'formData':{'pid':pid,'entityName':entityName},//我的参数列表
//'fileObjName':'uploadify',//服务器的属性名字

'uploader':'你的后台url地址;jsessionid=${pageContext.session.id}',//提交服务器路径,这里
说明下;jsessionid=${pageContext.session.id},这个是用于非IE内核的浏览器兼容的
'swf':"styles/uploadify.swf",//flash文件,官方的文件,引用上就是了
//'uploader':'/Home/Upload',//文件保存路径用处不大
'buttonText':'文件上传',//按钮
//'height':'32',//浏览按钮的高度
//'width':'100',//浏览按钮的宽度
'fileTypeDesc':'支持的格式:',//在浏览窗口底部的文件类型下拉菜单中显示的文本
'fileTypeExts':'*.jpg;*.jpge;*.gif;*.png',//允许上传的文件后缀
'fileSizeLimit':'3MB',//上传文件的大小限制
'queueSizeLimit':25,//上传数量
'onSelectError':function(file,errorCode,errorMsg){//返回一个错误,选择文件的时候触发
switch(errorCode){
case-100:
alert("上传的文件数量已经超出系统限制的"+$('#file_upload').uploadify('settings','queueSizeLimit')+"个文件!");
break;
case-110:
alert("文件["+file.name+"]大小超出系统限制的"+$('#file_upload').uploadify('settings','fileSizeLimit')+"大小!");
break;
case-120:
alert("文件["+file.name+"]大小异常!");
break;
case-130:
alert("文件["+file.name+"]类型不正确!");
break;
}
},
'onFallback':function(){//检测FLASH失败调用
alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
},
'onUploadSuccess':function(file,data,response){//上传到服务器,服务器返回相应信息到data里
if(data){
vardataObj=eval("("+data+")");//转换为json对象
//$('#uploadify').uploadify('upload')
}
}
});
}
</script>
<script>
functionsnedUpLoad(){
varpid=$("#entityId").val();//这个是我自己获取的自定义参数
varentityName=$("#entityName").val();//同上
$("#uploadify").uploadify({//初始化uploadifyuploadify是input的id
//'debug':false,//bug模式,默认是false
'auto':false,//自动上传,就是控件自动上传,默认是true
'multi':true,
//'successTimeout':99999,//超时时间
'formData':{'pid':pid,'entityName':entityName},//我的参数列表
//'fileObjName':'uploadify',//服务器的属性名字

'uploader':'你的后台url地址;jsessionid=${pageContext.session.id}',//提交服务器路径,这里
说明下;jsessionid=${pageContext.session.id},这个是用于非IE内核的浏览器兼容的
'swf':"styles/uploadify.swf",//flash文件,官方的文件,引用上就是了
//'uploader':'/Home/Upload',//文件保存路径用处不大
'buttonText':'文件上传',//按钮
//'height':'32',//浏览按钮的高度
//'width':'100',//浏览按钮的宽度
'fileTypeDesc':'支持的格式:',//在浏览窗口底部的文件类型下拉菜单中显示的文本
'fileTypeExts':'*.jpg;*.jpge;*.gif;*.png',//允许上传的文件后缀
'fileSizeLimit':'3MB',//上传文件的大小限制
'queueSizeLimit':25,//上传数量
'onSelectError':function(file,errorCode,errorMsg){//返回一个错误,选择文件的时候触发
switch(errorCode){
case-100:
alert("上传的文件数量已经超出系统限制的"+$('#file_upload').uploadify('settings','queueSizeLimit')+"个文件!");
break;
case-110:
alert("文件["+file.name+"]大小超出系统限制的"+$('#file_upload').uploadify('settings','fileSizeLimit')+"大小!");
break;
case-120:
alert("文件["+file.name+"]大小异常!");
break;
case-130:
alert("文件["+file.name+"]类型不正确!");
break;
}
},
'onFallback':function(){//检测FLASH失败调用
alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
},
'onUploadSuccess':function(file,data,response){//上传到服务器,服务器返回相应信息到data里
if(data){
vardataObj=eval("("+data+")");//转换为json对象
//$('#uploadify').uploadify('upload')
}
}
});
}
</script>

[javascript]
$(function(){
snedUpLoad();//jquery容器加载完运行我们的函数
})
$(function(){
snedUpLoad();//jquery容器加载完运行我们的函数
})


[html]
<inputtype="file"name="uploadify"id="uploadify"/>//申明控件的容器
<inputtype="file"name="uploadify"id="uploadify"/>//申明控件的容器
前台页面代码基本就这样了,很好明白,至于后台逻辑和普通上传处理一致的,这里就不列出来的,最后上一张图给大家鉴赏一下
(tip:其实他的批量上传并不是一次全部提交处理的,他是一个一个依次提交,相当是一个for循环,所以后台处理的同时只是一个文件上传,即排序的处理上传文件,就和单个文件上传的代码一样,如果你早有后台的单文件上传代码就不用改,直接调用就行了,可以共用)