2014-03-30 198 views
2

我在我的Asp.Net WebFrom中使用FileUpload。 我從電腦上傳任何帶有C#的文件。錯誤:`找不到文件'C: Program Files(x86) IIS Express button.png'`

string path = FileUpload1.PostedFile.FileName; 
string str = Path.GetFileName(path); 

FileStream fs = new FileStream(str, FileMode.Open, FileAccess.Read);//我得到這一行的錯誤。錯誤:Could not find file 'C:\Program Files (x86)\IIS Express\button.png'

實際上這是我的文件路徑:'C:\Users\Ceyhun\Downloads\button.png'

任何人都可以說有什麼可以成爲問題嗎?

回答

4

你想要做的是獲取客戶端上傳文件的文件名,並試圖用該文件名打開文件。因爲您正在運行IIS Express(從c:\ program files運行),您的代碼會在該位置查找該文件並且它不存在。

該文件存在於客戶端計算機上,您的代碼訪問它的唯一方式是通過FileUploadCOntrol。

您不能直接從客戶端的計算機中引用該文件。 FileUpload控件將以字節爲單位給出文件內容,或者允許您直接將文件保存在服務器上。

例如

string filename = Path.GetFileName(FileUpload1.FileName); 
FileUpload1.SaveAs(Server.MapPath("~/") + filename); 

要獲得文件內容的字節數組:

byte[] fileBytes = FileUpload1.FileBytes; 
+0

我救了它在我的服務器, ,但是現在我想將它保存在SQL數據庫。 現在我應該從我的服務器添加到SQL數據庫? 然後在添加到數據庫之後它會保留在我的服務器中? 對不起,可能我很困惑。 – Jeyhun

+1

所以文件上傳控件的文件內容以字節爲單位。您無需將其存儲在Web服務器中。你可以直接將這些字節保存到數據庫中。 –

+0

謝謝你的答案.. – Jeyhun

相關問題