0
我正在上傳用戶圖片&將其保存在指定位置。代碼在正常情況下工作正常,即用戶選擇一個圖像&保存它,它的工作原理。當用戶(由於錯誤可能是錯的圖像)選擇圖像&不救它,但再次選擇新的圖像&然後將其保存發生該操作無法完成,因爲該文件在IIS工作進程中打開
挑戰。 這種情況給我錯誤:
「該進程無法訪問該文件,因爲它正在被另一個進程使用。」
當我嘗試在錯誤的時間從位置刪除圖像,文件不能與消息刪除:
「無法完成的操作,因爲該文件是在IIS工作開過程 關閉文件並重試。「
代碼是這樣的:
try
{
if (!Directory.Exists(folder))
Directory.CreateDirectory(folder);
msf = new MemoryStream();
bytes=FileUpload1.FileBytes;
msf.Write(bytes, 0, bytes.Length);
using (FileStream stream = new FileStream(folder + "/" + filename, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite))
{
//converting any graphic file type to jpeg format
Image img = Image.FromStream(msf);
img.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
msf.WriteTo(stream);
IsuploadSuccess = true;
img.Dispose();
}
}
catch
{
IsuploadSuccess = false;
}
finally
{
if (msf != null)
{
msf.Close();
msf.Dispose();
}
}
我曾嘗試加入「FileAccess.ReadWrite」 & 「FileShare.ReadWrite」在文件流,但不會在所有選項的工作,要麼文件流。
請幫助...
你可以請嘗試處理該文件流也。 –
@Mahesh,使用{}塊本身在範圍結束後處理對象。但是,我也嘗試過這種方式。 –