當前位置:首頁 » 文件傳輸 » 共同上傳文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

共同上傳文件

發布時間: 2022-11-12 04:14:47

A. 求助 百度網盤如何實現多人多地同時上傳文件,現在一上傳就提示警告,怎麼辦呀公司急用呀

多人多地同時上傳文件那倒是沒試過。

但是不需要那樣,幾個賬號分別上傳。

相互加好友分享一下馬上就有了。

一樣的效果啊。

滿意請採納

B. 如何實現同時上傳多個文件

含義 ENCTYPE="multipart/form-data" 說明:
通過 http 協議上傳文件 rfc1867協議概述,jsp 應用舉例,客戶端發送內容構造

1、概述在最初的 http 協議中,沒有上傳文件方面的功能。 rfc1867 (http://www.ietf.org/rfc/rfc1867.txt) 為 http 協議添加了這個功能。客戶端的瀏覽器,如 Microsoft IE, Mozila, Opera 等,按照此規范將用戶指定的文件發送到伺服器。伺服器端的網頁程序,如 php, asp, jsp 等,可以按照此規范,解析出用戶發送來的文件。Microsoft IE, Mozila, Opera 已經支持此協議,在網頁中使用一個特殊的 form 就可以發送文件。絕大部分 http server ,包括 tomcat ,已經支持此協議,可接受發送來的文件。各種網頁程序,如 php, asp, jsp 中,對於上傳文件已經做了很好的封裝。

2、上傳文件的實例:用 servelet 實現(http server 為 tomcat 4.1.24)1. 在一個 html 網頁中,寫一個如下的form :

load multi files :

text field :

用戶可以選擇多個文件,填寫表單其它項,點擊「提交」按鈕後就開始上傳給 http://192.168.29.65/upload_file/UploadFile

這是一個 servelet 程序注意 enctype="multipart/form-data", method=post, type="file" 。根據 rfc1867, 這三個屬性是必須的。multipart/form-data 是新增的編碼類型,以提高二進制文件的傳輸效率。具體的解釋請參閱 rfc18672. 服務端 servelet 的編寫現在第三方的 http upload file 工具庫很多。Jarkata 項目本身就提供了fileupload 包http://jakarta.apache.org/commons/fileupload/ 。

文件上傳、表單項處理、效率問題基本上都考慮到了。在 Struts 中就使用了這個包,不過是用 Struts 的方式另行封裝了一次。這里我們直接使用 fileupload 包。至於Struts 中的用法,請參閱 Struts 相關文檔。這個處理文件上傳的 servelet 主要代碼如下:

public void doPost( HttpServletRequest request, HttpServletResponse response )
{
DiskFileUpload diskFileUpload = new DiskFileUpload(); // 允許文件最大長度
diskFileUpload.setSizeMax( 100*1024*1024 ); // 設置內存緩沖大小
diskFileUpload.setSizeThreshold( 4096 ); // 設置臨時目錄
diskFileUpload.setRepositoryPath( "c:/tmp" );
List fileItems = diskFileUpload.parseRequest( request );
Iterator iter = fileItems.iterator(); for( ; iter.hasNext(); )
{
FileItem fileItem = (FileItem) iter.next();
if( fileItem.isFormField() ) { // 當前是一個表單項
out.println( "form field : " + fileItem.getFieldName() + ", " + fileItem.getString() );
} else {
// 當前是一個上傳的文件
String fileName = fileItem.getName();
fileItem.write( new File("c:/uploads/"+fileName) );
}

}}

為簡略起見,異常處理,文件重命名等細節沒有寫出。3、 客戶端發送內容構造假設接受文件的網頁程序位於 http://192.168.29.65/upload_file/UploadFile.假設我們要發送一個二進制文件、一個文本框表單項、一個密碼框表單項。文件名為 E:\s ,其內容如下:(其中的XXX代表二進制數據,如 01 02 03)abbXXXccc 客戶端應該向 192.168.29.65 發送如下內容:

POST /upload_file/UploadFile HTTP/1.1
Accept: text/plain, */*
Accept-Language: zh-cn
Host: 192.168.29.65:80
Content-Type:multipart/form-data;boundary=---------------------------7d33a816d302b6
User-Agent: Mozilla/4.0 (compatible; OpenOffice.org)
Content-Length: 424
Connection: Keep-Alive -----------------------------7d33a816d302b6
Content-Disposition:form-data;
name="userfile1";
filename="E:\s"Content-Type:
application/octet-stream abbXXXccc
-----------------------------7d33a816d302b6

Content-Disposition: form-data;

name="text1" foo

-----------------------------7d33a816d302b6

Content-Disposition: form-data;

name="password1" bar

-----------------------------7d33a816d302b6--

(上面有一個回車)此內容必須一字不差,包括最後的回車。

注意:Content-Length: 424 這里的424是紅色內容的總長度(包括最後的回車)
注意這一行:Content-Type: multipart/form-data; boundary=---------------------------7d33a816d302b6

根據 rfc1867, multipart/form-data是必須的.---------------------------7d33a816d302b6 是分隔符,分隔多個文件、表單項。

其中33a816d302b6 是即時生成的一個數字,用以確保整個分隔符不會在文件或表單項的內容中出現。前面的 ---------------------------7d 是 IE 特有的標志。

Mozila 為---------------------------71用手工發送這個例子,在上述的 servlet 中檢驗通過。

使用POST發送數據

以POST方式發送數據主要是為了向伺服器發送較大量的客戶端的數據,它不受URL的長度限制。POST請求將數據以URL編碼的形式放在HTTP正文中,欄位形式為fieldname=value,用&分隔每個欄位。注意所有的欄位都被作為字元串處理。實際上我們要做的就是模擬瀏覽器POST一個表單。以下是IE發送一個登陸表單的POST請求:

POST http://127.0.0.1/login.do HTTP/1.0
Accept: image/gif, image/jpeg, image/pjpeg, */*
Accept-Language: en-us,zh-cn;q=0.5
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Content-Length: 28
\r\n
username=admin&password=1234

要在MIDP應用程序中模擬瀏覽器發送這個POST請求,首先設置HttpConnection的請求方式為POST:

hc.setRequestMethod(HttpConnection.POST);

然後構造出HTTP正文:

byte[] data = "username=admin&password=1234".getBytes();

並計算正文長度,填入Content-Type和Content-Length:

hc.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
hc.setRequestProperty("Content-Length", String.valueOf(data.length));

然後打開OutputStream將正文寫入:

OutputStream output = hc.openOutputStream();
output.write(data);

需要注意的是,數據仍需要以URL編碼格式編碼,由於MIDP庫中沒有J2SE中與之對應的URLEncoder類,因此,需要自己動手編寫這個encode()方法,可以參考java.net.URLEncoder.java的源碼。剩下的便是讀取伺服器響應,代碼與GET一致,這里就不再詳述。

使用multipart/form-data發送文件

如果要在MIDP客戶端向伺服器上傳文件,我們就必須模擬一個POST multipart/form-data類型的請求,Content-Type必須是multipart/form-data。

以multipart/form-data編碼的POST請求格式與application/x-www-form-urlencoded完全不同,multipart/form-data需要首先在HTTP請求頭設置一個分隔符,例如ABCD:

hc.setRequestProperty("Content-Type", "multipart/form-data; boundary=ABCD");

然後,將每個欄位用「--分隔符」分隔,最後一個「--分隔符--」表示結束。例如,要上傳一個title欄位"Today"和一個文件C:\1.txt,HTTP正文如下:

--ABCD
Content-Disposition: form-data; name="title"
\r\n
Today
--ABCD
Content-Disposition: form-data; name="1.txt"; filename="C:\1.txt"
Content-Type: text/plain
\r\n

--ABCD--
\r\n

請注意,每一行都必須以\r\n結束,包括最後一行。如果用Sniffer程序檢測IE發送的POST請求,可以發現IE的分隔符類似於---------------------------7d4a6d158c9,這是IE產生的一個隨機數,目的是防止上傳文件中出現分隔符導致伺服器無法正確識別文件起始位置。我們可以寫一個固定的分隔符,只要足夠復雜即可。

發送文件的POST代碼如下:

String[] props = ... // 欄位名
String[] values = ... // 欄位值
byte[] file = ... // 文件內容
String BOUNDARY = "---------------------------7d4a6d158c9"; // 分隔符
StringBuffer sb = new StringBuffer();
// 發送每個欄位:
for(int i=0; i
sb = sb.append("--");
sb = sb.append(BOUNDARY);
sb = sb.append("\r\n");
sb = sb.append("Content-Disposition: form-data; name=\""+ props[i] + "\"\r\n\r\n");
sb = sb.append(URLEncoder.encode(values[i]));
sb = sb.append("\r\n");
}
// 發送文件:
sb = sb.append("--");
sb = sb.append(BOUNDARY);
sb = sb.append("\r\n");
sb = sb.append("Content-Disposition: form-data; name=\"1\"; filename=\"1.txt\"\r\n");
sb = sb.append("Content-Type: application/octet-stream\r\n\r\n");
byte[] data = sb.toString().getBytes();
byte[] end_data = ("\r\n--" + BOUNDARY + "--\r\n").getBytes();
// 設置HTTP頭:
hc.setRequestProperty("Content-Type", MULTIPART_FORM_DATA + "; boundary=" + BOUNDARY);
hc.setRequestProperty("Content-Length", String.valueOf(data.length + file.length + end_data.length));
// 輸出:
output = hc.openOutputStream();
output.write(data);
output.write(file);
output.write(end_data);
// 讀取伺服器響應:
// TODO...

C. 如何在Spring Boot中同時上傳多個文件

@RequestMapping(value="/batch/upload", method=RequestMethod.POST)
public @ResponseBody
String handleFileUpload(HttpServletRequest request){
List<MultipartFile> files =((MultipartHttpServletRequest)request).getFiles("file");
MultipartFile file = null;
BufferedOutputStream stream = null;
for (int i =0; i< files.size(); ++i) {
file = files.get(i);
if (!file.isEmpty()) {
try {
byte[] bytes = file.getBytes();
stream =
new BufferedOutputStream(new FileOutputStream(new File(file.getOriginalFilename())));
stream.write(bytes);
stream.close();
} catch (Exception e) {
stream = null;
return "You failed to upload " + i + " =>" + e.getMessage();
}
} else {
return "You failed to upload " + i + " becausethe file was empty.";
}
}
return "upload successful";
}
這是後台的實現,如果需要前端的實現,請回復

D. 百度雲能不能同時上傳多個文件

可以同時上傳多個文件。把你需要上傳的文件全部選定,然後就會被依次上傳,希望可以幫到你

E. Wps怎麼上傳(共享)文件到團隊文檔

WPS 是人們常用的辦公用軟體,下面我就來介紹一下WPS 共享文件的教程

工具/材料

WPS

  • 01

    首先,找到桌面上的WPS 軟體,點擊進入

  • 02

    然後點擊「雲存檔」界面的「團隊文件」選項,進入界面

  • 03

    在團隊文件的界面點擊立即使用

  • 04

    然後在使用的見面找到「添加文件」的小字部分,點擊進入

  • 05

    選擇好自己想要上傳給團隊的文檔,即可成功上傳文件至團隊文檔

F. php同時上傳多個文件或者整個文件夾怎麼實現,最好發個demo,求大俠們幫助下

您好,這樣的:
純web無解,最少需要客戶端裝控制項,
php將本地文件夾上傳的其他伺服器倒是可以。
方法一:把文件夾打包成zip上傳然後伺服器端解壓,調用/內建的解壓程序解壓然後刪除zip文件。
方法二:做個遍歷循環判斷,遇到目錄的就利用mkdir創建目錄,遇到文件的就用ftp傳上到伺服器。

G. 如何將文件上傳到網路上 由大家共同分享

設置一個共享文件夾有很多方法1.區域網設置 2.用網盤共享。

  • 網盤設置

    要怎麼設置共享文件夾?公司和學校機房的電腦都處在同一個區域網,如果兩台電腦傳輸大文件,用U盤或移動硬碟可能不太方便,害怕中毒,這時候最好的方式是建立一個共享文件夾,另一台電腦即可在區域網中訪問該共享文件。下面小編教大家區域網中如何設置共享文件夾的方法。

    說明:本方法以win7系統為例說明,適用於win7/win8/win10等系統

    一、設置共享文件夾及許可權

    1、選擇需要共享的文件夾,右鍵點擊「屬性」;

    2、在共享選項卡中,點擊「高級共享」;

    3、勾選「共享此文件夾」,然後設置共享名,接著點擊應用—確定—關閉即可;

    4、如果需要設置共享文件夾的許可權,則在勾選共享此文件夾的同時,點擊「許可權」,然後設置許可權,默認「讀取」,即只能查看復制,不能更改,如果你想讓共享文件夾被更改,則勾選更改,確定;

    5、回到這個界面,顯示已經共享狀態,點擊關閉,這時候記錄下網路路徑這個部分\PC-201711071638。

    二、開啟網路發現

    1、共享雙方電腦都需要設置,右鍵右下角的網路圖標,選擇「打開網路和共享中心」;

    2、點擊左上角「更改高級共享設置」;

    3、選擇「啟用網路發現」,保存更改。

    三、訪問共享文件夾

    1、同時按Windows+R調出運行,然後輸入網路路徑\PC-201711071638,確定

    2、也可以輸入共享電腦的ip地址路徑,\192.168.1.183確定,查看電腦ip地址方法:win8查看ip地址的方法 win8怎麼查看ip地址。

    3、這樣就訪問到共享文件夾,打開即可查看並復制文件。

  • 堅果雲文件共享,使用賬號登陸網頁版或者客戶端版,客服全程指導,易上手。

H. 多線程 同時上傳多個文件

另起線程上傳,通過事件更新界面。

I. cuteFTP能否用同一個帳號在多台電腦上同時上傳文件

你好

能否用同台電腦同時上傳文件不取決於您使用的軟體,而是取決於您ISP(服務提供商)地支持程度,如果支持多IP多線程的話,是可以的。

cuteftp 吧主:zy2001net

J. 如何上傳共享文件

1.進入\"資料共享\"點擊\"我要提供資料\"鏈接。
2.填寫你的資料名稱和資料介紹,介紹寫得越詳細,越會被更多的人下載。
3.選擇正確的資料分類和資料格式。
4.選擇別人下載時需付給你的積分,如果您將資料無償共享給別人,資料每被下載
1次,我們將獎勵給你積分1分。每條資料通過有償付分最多隻能獲得積分500分
5.點擊瀏覽,尋找你要上傳的資料。注意文件不能大於3000K,若資料大於3000K,
把資料拆分成幾個文件,按多個資料上傳。
6.點擊\"提交資料\"按鈕,發送資料。
注意事項:上傳的資料需要iAsk編輯初步審核後才能正式發表