File Upload in

Hi I want users to be able to upload files to the server.

The code I have used to work on old server. But I now get error

Access to the path 'E:\web\mysite\artwork\testimage.jpg' is denied.

I have read on the internet that I need to give permisson to folder through IIS7 but can not see where to do this.

I am quite new to so please explain in detail.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

You have to give Windows access to this path, so this has nothing to do with IIS or ASP.NET.

On the server you go to the folder, right click and set access permissions for the user that is running your site, probably the ASP.NET user.
taz8020Author Commented:
Hi its a shared web server, how would I go about logging in? you can view the folder by going to but can not right to it. Winhost says by defualt it should be read write?
Did you put the files and the folder for users to upload to on there with an FTP application? You should check the folder access there, see if it is all read-write (or 777 or something like that).
HTML5 and CSS3 Fundamentals

Build a website from the ground up by first learning the fundamentals of HTML5 and CSS3, the two popular programming languages used to present content online. HTML deals with fonts, colors, graphics, and hyperlinks, while CSS describes how HTML elements are to be displayed.

Seven priceFull StackCommented:
You should be able to do this dynamically without giving permission for example.

create function for folder
public string CheckStoreDirectoryExists()

      string IntraDir = HttpContext.Current.Server.MapPath("\\foldername\\");
      System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(IntraDir);

      if (!di.Exists) {

      di = null;
      return IntraDir;

Seven priceFull StackCommented:
client side the code below requires no permissions
<p id="upload-area"><input id="File2" type="file" size="50" name="File1" runat="server">
                        <asp:button id="btnSubmit" onclick="btnSubmit_Click" runat="server" Text="Upload Now"></asp:button>

string FileName = "name of file you could make dynamic";
string IntraDir = CheckStoreDirectoryExists();
HttpFileCollection uploads = HttpContext.Current.Request.Files;
for (i = 0; i <= uploads.Count - 1; i++) {
      HttpPostedFile FileToUpload = uploads(i);
      // Error Handling here error
      if ((FileToUpload.ContentLength == 0)) {
            var _with1 = lblMessage;
            lblMessage.Visible = true;
            _with1.CssClass = "labelGreen";
            _with1.Text = "Sorry there is no File to Upload please try again.";
      } else {
            FileName = System.IO.Path.GetFileName(FileToUpload.FileName);
            try {
                  FileToUpload.SaveAs(IntraDir + "\\" + FileInfo);
                  //Server.Transfer("UploadComplete.aspx?id=" + (Request.QueryString("id")))
                  var _with2 = lblMessage;
                  lblMessage.Visible = true;
                  _with2.CssClass = "labelgreen";
                  _with2.Text = "Thank you, for your file";

            } catch (Exception ex) {
                  var _with3 = lblMessage;
                  lblMessage.Visible = true;
                  _with3.CssClass = "labelRed";
                  _with3.Text = "Sorry there is no File to Upload please try again.";
Most hosting companies provide a way of setting permissions on your site subfolders(1&1 allows me to do that). You would need to login to your control panel and set permissions on Artwork folder using their utility.
taz8020Author Commented:
Hi thanks all but still no wiser. I have set web.config to full trust as recommended by winhost. They also said to make sure membership is setup correctly. But with in the configeration I can not see any where to set folder permissions. The control pannel does not have anything saying about folder permissions.

Also in the forum it says that by default all folders and sub folders are set to read right.

It works fine on local machine so can not be the code must be a setting somewhere.
Any other ideas?
taz8020Author Commented:
Thanks all but now got to the bottom of it
If you have used Web Deploy to publish your site, contact support and ask
them to reset your ASPNet IUSR's ACL permission.

As when using web public it need to lock the permissions but should unlock them once done.
taz8020Author Commented:
I've requested that this question be closed as follows:

Accepted answer: 0 points for taz8020's comment #37814338

for the following reason:

because its correct
>If you have used Web Deploy to publish your site, contact support and ask them to reset your ASPNet IUSR's ACL permission.

That's what I meant by folder permissions. I am sure they have a way of setting these ACLs from the control panel. You can accept you comment as the answer but my suggestion was correct as well so include that as assisted.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.