ASP.NET: System.UnauthorizedAccessException - Access to Path Denied

I have an ASP.NET web application which does the following:

  1. Reads an Excel file.
  2. The excel file will have an image URL located in it that points to somewhere on the internet.
  3. The program reads each image URL and store it into a temporary folder in the web server.
  4. The application then resizes (changes the width and height) of the image.
  5. Finally, the application will save that image to another folder.

    I am getting the following exception:

System.Net.WebException: An exception occurred during a WebClient request. ---> System.UnauthorizedAccessException: Access to the path '\abcserver\target03\3111\35644\www.testing.com\web\content\images\TempStorage\tempImage.jpg' is denied. at 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) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access) at System.Net.WebClient.DownloadFile(Uri address, String fileName) --- End of inner exception stack trace --- at ProcessImage.GetFileFromUrl(String imageFileUrl, String newFileName) at uploadexceldata.UploadExcelData(String fileName)

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

Does anyone have any suggestions on how to fix this exception?

Answers


Try setting the access permissions to "Full control" for the .Net user from where you are reading/saving the files.


Need Your Help

How to apply multiple functions to a single, common parameter?

clojure functional-programming

How can I apply multiple functions, each producing a single map, to a common parameter, then merge all results? Can this be improved?

Inconsistent datatypes: expected REF got .. error when trying to insert data

sql oracle plsql

Long story short what I'm trying to do is to insert some data into a table and I'm having some problems understanding what is wrong. I'll let the code talk for itself. Hope you can help me out. Tha...

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.