① asp.net已知待上傳文件的本地絕對路徑和伺服器虛擬目錄路徑,通過什麼方法上傳
無法直接讀取客戶端目錄下的文件,目前有兩種方法可以參考:
1:批量上傳
這種就是在選擇文件的時候可以多選文件,網上有一些組件可以實現,例如CFUpdate。
2:壓縮上傳
將要上傳的圖片統一壓縮,然後上傳壓縮包,在伺服器端做解壓處理。
可以根據具體情況進行選擇。
② .net使用WebClient 向網站虛擬目錄上傳文件 遠程伺服器返回錯誤: (401) 未經授權。
文件共享還不夠,在安全裡面把這個文件夾everyone設置為寫入即可。但是這樣很不安全,氏則建議你可以新建一個用戶,並給這猛核和個用戶設置密碼,然後再你client.Credentials = new NetworkCredential("用戶", "密碼");語句中,把用戶和密碼寫入,然後在這個虛擬目錄文件夾的安全里把這個枝盯用戶許可權設置為寫入即可。
③ 怎麼樣把文件夾上傳到網上
簡單的測試虛擬目錄設置是否正確!
假設A是你web站點的伺服器 B是你要上傳文件的伺服器
2、在A伺服器web站點下面建立一個虛擬目錄,默認加虛擬目錄的時候是沒得選擇其他伺服器的共享文件夾的,你先隨便選擇一個本地的路徑,建立好之後,點擊該虛擬目錄的屬性,在更改本地路徑的上面,有3個選擇,你選擇「另一台計算機上的共享」,接著設置網路路徑,格式是這樣的:\\{伺服器}\{共享名}, {伺服器}用IP來代替,{共享名}就是那個upload文件夾,填好之後點擊後面的「連接用戶」,輸入剛才在B伺服器上用羨備戶test 和密碼 123456(當然,簡單一點,你最好先測試一下,確定A伺服器能訪問B伺服器共享的文件夾,如果A都不能訪問B的共享,那你先解決這個問題先,測試的方法很簡單,在瀏覽器里輸入\\B伺服器的IP\upload,如果能輸入用戶和密碼之後能看到你剛才隨便建的那個文件,OK,共享是可以訪問的)
3、虛擬目錄設置好了之後,你可以測試一下,在A的web站點下面通過程序獲取一下核派明虛擬目錄的路徑,如果是成功的,路徑應該是伺服器B的IP+upload文件夾。
4、接下來的工作就是上傳文件了,這個時候你直接上傳應該都是可以的,應該你剛才已經輸入過訪問B伺服器upload的帳號和密碼,也就是說A和B已經建立了信任連接,不過如果你重啟伺服器,剛才建立的連接也就不存在了。所以在A伺服器web站點的Global.asax文件里載入一句話,讓A伺服器站點啟動的時候就和B建立信任連接
System.Diagnostics.Process.Start("net.exe", "use \\\\B伺服器的IP\\upload \"123456\" /user:\"test\"");
上面的語句就是建立信任連接的,放在global.asax的好處就是站點啟動就建立連接,因為這種信任連接是可持續性的,不會象session一樣過期,只有在重啟A伺服器的時候這種信任連接才會消失。
不曉得你明白沒有?不過我可以肯定,這個是可以實現的,因為我剛剛做過這塊。
一種方式:還是通過A伺服器web站點下面的虛擬目錄來訪問,這種情況下,B服務改告器只是提供空間
另一種方式:在B伺服器上建立一個站點,指向該目錄,這樣B伺服器分擔了訪問文件時IIS的工作任務
文件上傳保存:
//abc為程序運行站點或者虛擬目錄下的虛擬目錄