ASP.NET: System.UnauthorizedAccessException - der Zugriff auf Pfad Verweigert

Habe ich eine ASP.NET web-Anwendung, die Folgendes macht:

  1. Liest eine Excel-Datei.
  2. Die excel-Datei wird eine Bild-URL liegt, dass es in Punkte um irgendwo auf dem internet.
  3. Das Programm liest jede Bild-URL, und speichern Sie es in einen temporären Ordner auf dem web-server.
  4. Die Anwendung dann ändert (ändert die Breite und Höhe) des Bildes.
  5. Schließlich, die Anwendung wird speichern Sie das Bild in einen anderen Ordner.

    Ich bin immer folgende exception:

System.Net.WebException: Eine Ausnahme
traten während einer WebClient-Anforderung.
---> System.UnauthorizedAccessException:
Der Zugriff auf den Pfad
'\abcserver\target03\3111\35644\www.testing.com\web\content\images\TempStorage\tempImage.jpg'
verweigert. bei
System.IO.__Fehler.WinIOError(Int32
errorCode, String maybeFullPath) bei
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) bei
System.IO.FileStream..ctor(String
path, FileMode mode, FileAccess
access) an
System.Net.WebClient.DownloadFile(Uri
address, String fileName) --- Ende
der inneren Ausnahmestapelüberwachung ---

bei ProcessImage.GetFileFromUrl(String
imageFileUrl, String newFileName)

bei
uploadexceldata.UploadExcelData(String
mit dem Namen)

 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() != "")

Hat jemand irgendwelche Vorschläge wie man dieses Problem beheben Ausnahme?

InformationsquelleAutor Shyju | 2008-12-02
Schreibe einen Kommentar