当前位置:首页 » 文件管理 » 批量上传图片java

批量上传图片java

发布时间: 2022-08-11 12:58:13

java实现文件批量上传是否需要将文件重命名(包括图片,word文档,录音),保存到项目中需要注意哪些

要看情况:
1. 若上传文件直接保存成数据库中的blob字段,那就无所谓文件名了;
2. 若上传文件保存到服务器的某个文件夹中,那么为了避免重名,上传的文件一定要重命名,做法一般是:首先生成一串不会和其他文件相同的名称,例如序列的值、上传时间(精确到毫秒)等;其次,将上传的文件保存到该文件名中;最后,向数据库中记录原上传的文件名、以及生成的文件名。这样,向用户显示的是用户上传的名称,但下载时按数据库中的记录按图索骥即可。

Ⅱ 用Java写上传文件(图片)

首先希望我的回答能给你带来帮助

首先写一个上传类
public class procts_shang_chuang {

public static boolean GOTO(String paht,FormFile file)
{

boolean bool =false;

int betered = 0;

byte[] buufer = new byte [2042];

if(file.getFileSize()>0&&file.getFileSize()<500000)
{
try {
InputStream in = file.getInputStream();//写入文件

OutputStream out = new FileOutputStream(paht);

while((betered=in.read(buufer, 0, 2042))!=-1)
{

out.write(buufer, 0, betered);//将文件写入服务器

}

in.close();
out.close();
bool = true;

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
bool = false;
e.printStackTrace();

} catch (IOException e) {
// TODO Auto-generated catch block
bool = false;
e.printStackTrace();
}
}

return bool;
}

public static boolean delete_file(String path)
{

File file = new File(path);
boolean bool = false;

if(file.isFile())
{
System.out.println("文件存在");
bool = file.delete();

}

return bool;
}

}
这个类主要是上传和删除图片的类

那么下来直接调用就可以了 通过页面往action中提交数据

if(form instanceof Procts_addForm)//如果form是FilesForm
{
String engding = request.getCharacterEncoding();
if((engding != null) && (engding.equalsIgnoreCase("utf-8")))
{
response.setContentType("text/html; charset=gb2312");//如果没有指定编码,编码格式为gb2312
}
FormFile file = procts_addForm.getFiles();
inpa = Huoqu_weiyi_biaoshi.getUniqueId();
String path = request.getRealPath("/guanliyuan/ji_zhu_procts_img/"+(inpa+file.getFileName()));
System.out.println(path);
String name = file.getFileName();
inpa = "/guanliyuan/ji_zhu_procts_img/"+inpa+file.getFileName();
bool = procts_shang_chuang.GOTO(path, file);
}

这样就把图片上传上去了 仔细看看 批量上传和这个一样只是需要做一点点的改动而已

有什么不明白的可以联系我Q号:549726411

Ⅲ 谁能说说java批量上传文件的原理,并且给个例子吧 谢了

直接用struts2的就行了,批量也不要想的太复杂,就是后台定义成List<File> uploadFile;页面就是<input type="file" name="uploadFile(这里要和你action方法里定义的那个List<File> uploadFile这个属性名一样)"/>,最后后台action方法 里的话就加一个for循环uploadFile就好了。具体struts2的上传去网络搜了,例子太多,记的加分。

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

环境准备

1. 下载并安装Tomcat(已经有很多关于Tomcat安装以及使用的文章,在这里不再介绍);

2. 下载File upload的jar包commons-fileupload-1.0-beta-1.jar,并将该文件拷贝到{$TOMCAT}/common/lib目录下(其中{$TOMCAT}为Tomcat的安装目录);

3. 由于Fileupload子项目同时要用到另外一个项目commons-Beanutils,所以必须下载Beanutils,并将解压后的文件commons-beanutils.jar拷贝到{$TOMCAT}/common/lib目录下。

开发文件上传页面

文件上传的界面如图1所示。为了增加效率我们设计了三个文件域,同时上传三个文件。
图1 文件上传界面

页面的HTML代码如下:

<html>
<head>
<title>文件上传演示</title>
</head>
<body bgcolor=“#FFFFFF”text=“#000000” leftmargin=“0”topmargin=“40”marginwidth=“0” marginheight=“0”>
<center>
<h1>文件上传演示</h1>
<form name=“uploadform”method=“POST” action=“save.jsp”ENCTYPE=“multipart/form-data”>
<table border=“1”width=“450”cellpadding=“4” cellspacing=“2”bordercolor=“#9BD7FF”>
<tr><td width=“100%”colspan=“2”>
文件1:<input name=“file1”size=“40”type=“file”>
</td></tr>
<tr><td width=“100%”colspan=“2”>
文件2:<input name=“file2”size=“40”type=“file”>
</td></tr>
<tr><td width=“100%”colspan=“2”>
文件3:<input name=“file3”size=“40”type=“file”>
</td></tr>
</table>
<br/><br/>
<table>
<tr><td align=“center”><input name=“upload” type=“submit”value=“开始上传”/></td></tr>
</table>
</form>
</center>
</body>
</html>

代码中要特别注意的是黑体处。必须保证表单的ENCTYPE属性值为multipart/form-data,这样浏览器才能正确执行上传文件的操作。

处理上传文件信息

由于本文主要是讲述如何使用Commons-fileupload,所以为了便于修改、调试,上传文件的保存使用一个JSP文件来进行处理。我们将浏览器上传来的所有文件保存在一个指定目录下并在页面上显示所有上传文件的详细信息。保存页面处理结果见图2所示。
图2 保存页面

下面来看看save.jsp的代码:

<%
/**
* 演示文件上传的处理
* @author <a href=“mailto:[email protected]”>Winter Lau</a>
* @version $Id: save.jsp,v 1.00 2003/03/01 10:10:15
*/
%>
<%@ page language=“java”contentType=“text/html;charset=GBK”%>
<%@ page import=“java.util.*”%>
<%@ page import=“org.apache.commons.fileupload.*”%>
<html>
<head>
<title>保存上传文件</title>
</head>
<%
String msg = “”;
FileUpload fu = new FileUpload();
// 设置允许用户上传文件大小,单位:字节
fu.setSizeMax(10000000);
// maximum size that will be stored in memory?
// 设置最多只允许在内存中存储的数据,单位:字节
fu.setSizeThreshold(4096);
// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
fu.setRepositoryPath(“C:\\TEMP”);
//开始读取上传信息
List fileItems = fu.parseRequest(request);
%>
<body bgcolor=“#FFFFFF”text=“#000000” leftmargin=“0”topmargin=“40”marginwidth=“0” marginheight=“0”>
<font size=“6”color=“blue”>文件列表:</font>
<center>
<table cellpadding=0 cellspacing=1 border=1 width=“100%”>
<tr>
<td bgcolor=“#008080”>文件名</td>
<td bgcolor=“#008080”>大小</td>
</tr>
<%
// 依次处理每个上传的文件
Iterator iter = fileItems.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
//忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
String name = item.getName();
long size = item.getSize();
if((name==null||name.equals(“”)) && size==0)
continue;
%>
<tr>
<td><%=item.getName()%></td>
<td><%=item.getSize()%></td>
</tr>
<%
//保存上传的文件到指定的目录
name = name.replace(‘:’,‘_’);
name = name.replace(‘\\’,‘_’);
item.write(“F:\\”+ name);
}
}
%>
</table>

<br/><br/>
<a href=“upload.html”>返回上传页面</a>
</center>
</body>
</html>

在这个文件中需要注意的是FileUpload对象的一些参数值的意义,如下面代码所示的三个参数sizeMax、sizeThreshold、repositoryPath:

FileUpload fu = new FileUpload();
// 设置允许用户上传文件大小,单位:字节
fu.setSizeMax(10000000);
// maximum size that will be stored in memory?
// 设置最多只允许在内存中存储的数据,单位:字节
fu.setSizeThreshold(4096);
// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
fu.setRepositoryPath(“C:\\TEMP”);

这3个参数的意义分别为:

SizeMax 用来设置上传文件大小的最大值,一旦用户上传的文件大小超过该值时将会抛出一个FileUploadException异常,提示文件太大;

SizeThreshold 设置内存中缓冲区的大小,一旦文件的大小超过该值的时候,程序会自动将其它数据存放在repositoryPath指定的目录下作为缓冲。合理设置该参数的值可以保证服务器稳定高效的运行;

RepositoryPath 指定缓冲区目录。

使用注意事项
从实际应用的结果来看该模块能够稳定高效的工作。其中参数SizeThreshold的值至关重要,设置太大会占用过多的内存,设置太小会频繁使用硬盘作为缓冲以致牺牲性能。因此,设置该值时要根据用户上传文件大小分布情况来设定。例如大部分文件大小集中在100KB左右,则可以使用100KB作为该参数的值,当然了再大就不合适了。使用commons-fileupload来处理HTTP文件上传的功能模块很小,但是值得研究的东西很多。

Ⅳ java批量上传图片

附件1:
<input name="file1" type="file" size="15" value="">
附件2:
<input name="file2" type="file" size="15" value="">
附件3:
<input name="file3" type="file" size="15" value="">
附件4:
<input name="file4" type="file" size="15" value="">
附件5:
<input name="file5" type="file" size="15" value="">
然后再提交处理的类中逐个处理就可以啦,修改点name属性,看仔细。

Ⅵ java语言如何实现批量上传照片

使用Java语言实现的批量上传文件,其中使用到了Alanx技术,有需要的可以下载下来看看,希望对您有所帮助!

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

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

Ⅷ java 如何通过Excel批量上传图片

通过jxl.jar
去操作 遍历execl里面的cell然后取出路径值 去用for循环 验证所以路径是否合法 存在文件 都合法存储 不和法 则打印异常
如果不去验证 则无法确认是不是所有文件都上传了
如果是2007的execl、建议你去看看openxml Java操作的话可以用POI

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

你说的这个问题,其实是表的设计问题。
只要在t_b中,设计列为3列即可。
id
,
t_a_id
,
picture
添加多个图片,不过是sql、语句。
最简单的办法,是利用for()循环,如:
for(int
i
=
0;i<图片数;i++){
//你的sql操作语句如。
//insert
图片i
into
t_b..
}
分给偶吧。。
^
^!

热点内容
农行对公密码器的凭证号码在哪里 发布:2024-05-02 12:38:55 浏览:890
双子星脚本 发布:2024-05-02 12:26:01 浏览:141
域名如何将程序部署到服务器 发布:2024-05-02 12:25:38 浏览:948
命令行编译lex 发布:2024-05-02 12:17:25 浏览:60
linux读u盘 发布:2024-05-02 11:49:37 浏览:782
android图片点击全屏 发布:2024-05-02 11:48:55 浏览:432
androidmvc和 发布:2024-05-02 11:48:49 浏览:656
两位数密码要试多少次能试出来 发布:2024-05-02 11:30:59 浏览:689
ae脚本插件表达式 发布:2024-05-02 11:26:45 浏览:267
手机电脑通用的服务器 发布:2024-05-02 11:25:26 浏览:839