我有一个ASP.NET Web应用程序,它执行以下操作:
读取Excel文件.
excel文件中将包含一个指向Internet上某个位置的图像URL.
程序读取每个图像URL并将其存储到Web服务器中的临时文件夹中.
然后,应用程序调整图像的大小(更改宽度和高度).
最后,应用程序将该图像保存到另一个文件夹.
我收到以下异常:
System.Net.WebException:WebClient请求期间发生异常.---> System.UnauthorizedAccessException:拒绝访问路径'\ abcserver\target03\3111\35644\www.testing.com\web\content\images\TempStorage\tempImage.jpg'.在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) System.Net.WebClient.DownloadFile(Uri地址,String fileName)的System.IO.FileStream..ctor(String路径,FileMode模式,FileAccess访问)中的,String msgPath,Boolean bFromProxy)---内部异常堆栈跟踪结束---
在
uploadexceldata.UploadExcelData(String fileName)的ProcessImage.GetFileFromUrl(String imageFileUrl,String newFileName)
foreach (DataRow dr in dt.Rows) // Reading each excel row { if (dr[0].ToString() != "") { id= ""; path = ""; manuId = ""; id= dr[0].ToString(); path = dr[1].ToString(); fileNameOnly = iProImg.GetFileNameOnly(path); objDb.openConnection(); strSqlGroupInfo = "select ManufacturerID from manufacturers where id='" + id+ "'"; dTblManu = objDb.BuildDT(strSqlGroupInfo); // To Fill data to Datatable objDb.closeConnection(); if (dTblManu.Rows.Count > 0) { manuId = dTblManu.Rows[0][0].ToString(); } if (manuId != "") { tempUploadPath = "images/TempStorage/"; tempUploadPath = Server.MapPath(tempUploadPath); if (!Directory.Exists(tempUploadPath)) { Directory.CreateDirectory(tempUploadPath); } tempFilePath = tempUploadPath + "\\tempImage.jpg"; tempFilePath = tempFilePath.Replace("/", "\\"); previewPath = Server.MapPath("images/previews/" + manuId); thumbNailPath = Server.MapPath("images/thumbnails/" + manuId); if (!Directory.Exists(previewPath)) { Directory.CreateDirectory(previewPath); } if (!Directory.Exists(thumbNailPath)) { Directory.CreateDirectory(thumbNailPath); } fileNameOnly = "\\preview" + id+ ".jpg"; fileNameOnly = fileNameOnly.Replace("/", "\\"); previewPath = previewPath + fileNameOnly; tempPartialPathP = "images\\previews\\" + manuId + fileNameOnly; fileNameOnly = "\\thumbnail" + id+ ".jpg"; thumbNailPath = thumbNailPath + fileNameOnly; tempPartialPathT = "images\\thumbnails\\" + manuId + fileNameOnly; try { iProImg.GetFileFromUrl(path, tempFilePath); rowCounter++; iProImg.ReSizeImage(tempFilePath, previewPath, previewSize); iProImg.ReSizeImage(previewPath, thumbNailPath, thumbNailSize); } catch (Exception ec) { errorRowCount++; iLog.LogErrorToFile("uploadExcel", ec.ToString(), "path : " + path + ",tempFilePath :" + tempFilePath); } finally { if(File.Exists(tempFilePath)) { File.Delete(tempFilePath); } } } // If manuid!="" } //if (dr[0].ToString() != "")
有没有人对如何修复此异常有任何建议?
尝试为您正在读取/保存文件的.Net用户设置访问权限为"完全控制".