Загрузка файлов работает на локальном хосте, но не работает удаленно после публикации на IIS?
Файл не найден в iis, но загружается в localhost.
Ошибка:
System.IO.FileNotFoundException: Could not find file 'C:\Users\...
System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access) at WebPages_frmAddSoftware.ConvertClientImageTo_base64String(HttpPostedFile file) at WebPages_frmAddSoftware.btnUpload_Click(Object sender, EventArgs e)
Что я уже пробовал:
protected void btnUpload_Click(object sender, EventArgs e) { try { if (btnFileUpload.HasFile == true ) { List<string> extentions = new List<string> { ".jpg", ".gif", ".png" }; if (extentions.Contains( Path.GetExtension(btnFileUpload.FileName).ToLower())) { lblError.Visible = false; // Get Client side full Image path need to be convert into HttpPostedFile HttpPostedFile file = (HttpPostedFile)btnFileUpload.PostedFile; //get file extention image_base64String = ConvertClientImageTo_base64String(file); imgSoftLogo.Src = @"data:image/gif;base64," + image_base64String; Session["image"] = image_base64String; } else { lblError.ForeColor = System.Drawing.Color.Red; lblError.Text = "Please Upload Valid File."; } } } catch (Exception ex) { lblPublish0.Text= ex.ToString(); } }
public string ConvertClientImageTo_base64String(HttpPostedFile file) { byte[] byteArray = null; file = (HttpPostedFile)btnFileUpload.PostedFile; //Use FileStream to convert the image into byte. using (FileStream fs = new FileStream(file.FileName, FileMode.Open, FileAccess.Read)) { byteArray = new byte[fs.Length]; int iBytesRead = fs.Read(byteArray, 0, (int)fs.Length); if (byteArray != null && byteArray.Length > 0) { // Convert the byte into image image_base64String = Convert.ToBase64String(byteArray, 0, byteArray.Length); } return image_base64String; } }
Richard MacCutchan
Делает C:\Users\...
существуют на вашем веб-сервере?
shaprpuff
изображение загружается клиентским компьютером так что каждый раз 'C:\Users\abc\Desktop\pic.png-это другое
Richard MacCutchan
Конечно, это так, но это не имеет никакого отношения к вашей проблеме.