stooicrealism
stooicrealism

Reputation: 558

how do I access a folder on the shared hosting space?

I am trying to upload image files to the server and it gives me an error

"System.UnauthorizedAccessException: Access to the path 'D:\Hosting\234344\html\Testingfiles\upload\813.jpg' is denied.at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)"

in the HttpHandler I have :

HttpPostedFile file = context.Request.Files["Filedata"];

string usr_id = context.Request.Form["usr_id"];// gets the JSON data from the request
string strPath = context.Server.MapPath(("/Testingfiles/upload/") + file.FileName);
string ext = Path.GetExtension(strPath);

if (ext.Equals(".jpg") || ext.Equals(".jpeg") || ext.Equals(".png"))
{
   file.SaveAs(strPath);
   context.Response.Write("Image uploaded successfully");
}

what am i doing wrong here?

Upvotes: 1

Views: 1650

Answers (4)

Rohit Arora
Rohit Arora

Reputation: 2252

For Plesk 12.0 only:

No need to use App Data folder. You just have to give full control to your Application pool group IWPG(username). It will surely work. I searched for many hours and this solution worked for me .

Hope It works for others too.

Upvotes: 0

meshr
meshr

Reputation: 31

If your control panel has Plesk on it then you can sort this out yourself by going to the FileManager and clicking the permissions button.

I fixed this error by allowing IIS users full access to upload folder. No need to use App_Data folder

Upvotes: 2

rtpHarry
rtpHarry

Reputation: 13125

You should try writing to ~/App_Data/ to see if that works. If it does then its just because you haven't given asp.net write permission to the /TestingFiles/Uploads/ folder.

If your control panel has Plesk on it then you can sort this out yourself by going to the FileManager and clicking the permissions button. If you look at your App_Data file permissions for reference, the actual username that you need to add will vary depending on your domain name with plesk.

Other hosting control panels may allow you to do it in different ways.

If you can't find it then you should ask your host how you set up file permissions or look in their knowledge base.

Upvotes: 3

driis
driis

Reputation: 164341

The error message says it all. You don't have write access to that folder.

You will need to ask your hosting provider to assign write rights to that folder for the ASP .NET identity.

Also, consider if you can use a folder below ~/App_Data. This is by convention the place to store files that needs write access in ASP .NET, so many hosting providers will allow writes to this folder by default (but you would need to check yourself for your specific host to be sure).

Upvotes: 3

Related Questions