0
在服務器端,我有這些:服務器端的文件上傳不保存我的文件
ASPX:
CS:
protected void btnUploadClick(object sender, EventArgs e)
{
HttpPostedFile file = Request.Files["myFile"];
if (file != null && file.ContentLength > 0)
{
string fname = Path.GetFileName(file.FileName);
file.SaveAs(Server.MapPath(Path.Combine("~/Files/", fname)));
}
}
客戶端應用程序:它使用WebClient,但我認爲這不需要任何解決方案,因爲webclient非常簡單直接。不管怎麼說,這裏的代碼
private void btnStart_Click(object sender, RoutedEventArgs e)
{
Uri uploadAddress = new Uri("http://localhost/WebUpload/default.aspx");
WebClient wc = new WebClient();
wc.UploadProgressChanged += new UploadProgressChangedEventHandler(wc_UploadProgressChanged);
wc.UploadFileCompleted += new UploadFileCompletedEventHandler(wc_UploadFileCompleted);
wc.Credentials = CredentialCache.DefaultCredentials;
wc.UploadFile(uploadAddress, "POST", m_filename);
}
void wc_UploadFileCompleted(object sender, UploadFileCompletedEventArgs e)
{
if (e.Error != null)
txtProgress.Content = e.Error.Message;
else
txtProgress.Content = "Completed";
}
void wc_UploadProgressChanged(object sender, UploadProgressChangedEventArgs e)
{
txtProgress.Content = String.Format("{0}% completed",
e.ProgressPercentage);
}
爲客戶端應用程序:它使用uploadfileasync通過HTTP POST到aspx頁面的簡單Web客戶端。
問題:文件通常使用aspx頁面保存,但是對於客戶端應用程序,文件會上載,但不會保存在文件夾中。可能發生了什麼?我很確定這是一個服務器端問題。
更新:添加了客戶端代碼。客戶端應用程序工作在另一個(但經典)服務器,所以我懷疑客戶端是需要修復的客戶端。
對不起,請解釋,由客戶端應用程序,你的意思是一個單獨的程序? – CouncilScribe
你期望在客戶端的文件中發生什麼?您的代碼將文件上傳到服務器並將其存儲在「文件」文件夾中。 – Jan
@jan正好。非常簡單。發佈文件流。服務器獲取並且(或應該)保存在「文件」文件夾中。這適用於運行在ASP classic上的不同服務器應用程序。問題是文件被上傳,但永遠不會創建/保存在文件夾 – Bahamut