Tengo una aplicación Web ASP.NET que hace lo siguiente:ASP.NET: System.UnauthorizedAccessException - Acceso a un denegado
- lee un archivo de Excel.
- El archivo de Excel tendrá una URL de imagen ubicada en ella que apunta a algún lugar en Internet.
- El programa lee cada URL de imagen y la almacena en una carpeta temporal en el servidor web.
- La aplicación cambia el tamaño (cambia el ancho y el alto) de la imagen.
Finalmente, la aplicación guardará esa imagen en otra carpeta.
estoy recibiendo la siguiente excepción:
System.NET.WebException: Una excepción ocurrieron durante una solicitud de cliente Web. ---> System.UnauthorizedAccessException: Se deniega el acceso a la ruta '\ abcserver \ target03 \ 3111 \ 35644 \ www.testing.com \ web \ content \ images \ TempStorage \ tempImage.jpg' . en System.IO .__ Error.WinIOError (Int32 errorCode, Cadena maybeFullPath) en System.IO.FileStream.Init (String path, modo FileMode, acceso FileAccess, Int32 derechos, useRights booleanas, cuota de FileShare, Int32 bufferSize , opciones FileOptions, SECURITY_ATTRIBUTES secAttrs, cadena MSGPATH, Boolean bFromProxy) en System.IO.FileStream..ctor (String ruta, modo FileMode, FileAccess acceso) en System.Net.WebClient.DownloadFile (Uri dirección, String fileName) --- Finalizar de la pila de excepción interna trace ---
en ProcessImage.GetFileFromUrl (String imageFileUrl, Cadena newfilename)
en uploadexceldata.UploadExcelData (String nomArchivo)
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() != "")
¿Alguien tiene alguna sugerencia sobre cómo solucionar este problema excepción?
guión para establecer permisos de "control total" para el usuario de .NET? – Kiquenet
Tuve el mismo problema: era mi directorio temporal el que no tenía los permisos adecuados ... – bgmCoder