簡體   English   中英

文件夾上傳 asp.net web forms

[英]Folder upload in asp.net web forms

我需要上傳一個文件夾而不壓縮它。
文件夾也可能包含子文件夾和文件。
可能嗎?

用戶必須 select 文件。 您不能從代碼中突然出現 select 單個文件,或從代碼中獲取多個文件。

原因是為了安全。 如果我可以編寫代碼來選擇一個沒有用戶交互的文件,那么當你訪問我的網站說查看貓視頻時,我會竊取你所有的文件 - 我會獲取你的 email 列表,甚至尋找一個名為密碼的 excel 文件. 我會尋找、抓取和竊取稱為銀行信息的文件。 因此,沒有瀏覽器允許您或您的代碼 select 單個文件,甚至多個文件。 安全持有量太大,因此不允許。

所以你的瀏覽器客戶端代碼不能 select 文件。 用戶必須 select 該文件。

如果文件上傳控件支持多個文件選擇,您可以讓用戶瀏覽到一個文件夾,打開它,然后說按 ctrl-A。 但在所有情況下,用戶必須 select 每個文件。 你不能 select 一個文件夾,也不能用客戶端代碼 select 一個文件夾。

如果這是可能的,那么這將是一個巨大的安全漏洞,因為從那時起,任何訪問任何站點的人都可以使用瀏覽器簡單地 go 和 select 任何舊文件,而用戶不知情,甚至控制或想要允許或不允許文件上傳。

所以,這是一個瀏覽器鎖定問題。 如果有人推出了允許這樣做的瀏覽器,那么沒有人會使用該瀏覽器,因為它的安全風險太高了。

因此客戶端代碼甚至無法設置或更改 select 一個簡單的單個文件 - 用戶必須執行此操作。 因此,select 甚至無法上傳文件夾 - 用戶必須這樣做。

因此,您可以采用允許用戶進行多項選擇的許多文件上傳控件之一 - 但是必須通過用戶操作選擇文件來選擇單個文件或多個文件 - 客戶端代碼永遠不能 select,選擇或出於安全原因選擇文件名。 只有 USER 操作可以 select 文件 - 絕不是客戶端代碼 - 它根本不允許,而且出於安全原因,它根本不會被允許。

那么一個允許多個文件選擇的文件控件——允許用戶快速地select文件夾中的所有文件? 是的,但不允許選擇文件夾。 用戶必須瀏覽文件夾 - select 文件才能上傳。 然后,他們可以從該文件夾打開/添加另一個文件夾和 select 文件。 但是客戶端代碼無法獲取、選擇、觸摸或使用任何文件夾,甚至是一個簡單的單個文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM