當前位置:首頁 » 文件管理 » 批量上傳圖片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..
}
分給偶吧。。
^
^!

熱點內容
關閉ip訪問 發布:2024-04-19 15:59:18 瀏覽:728
大屏安卓系統哪個好 發布:2024-04-19 15:49:10 瀏覽:790
解壓瀏覽器 發布:2024-04-19 15:39:22 瀏覽:573
pythonutfgbk 發布:2024-04-19 15:32:20 瀏覽:219
騰訊雲伺服器搭建網站打不開 發布:2024-04-19 15:32:15 瀏覽:965
光遇腳本輔助下載免費ios 發布:2024-04-19 15:22:11 瀏覽:241
表格VB腳本 發布:2024-04-19 15:13:07 瀏覽:778
python生成器表達式 發布:2024-04-19 15:12:10 瀏覽:745
獲取文件夾文件名 發布:2024-04-19 14:45:51 瀏覽:247
嗶咔本地緩存怎麼看 發布:2024-04-19 14:36:00 瀏覽:105