Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 276
  • Last Modified:

Uploading images

I am a beginner and this is my very first website project.

I am populating an array using Server.MapPath. On my local machine it is trying to read from
C:\Documents and Settings\\My Documents\Visual Studio 2008\Projects folder. I thought the Server.MapPath would read from C:\inetpub\wwwroot.
The array I am creating is getting all images from a folder. I want to allow the user to upload images to this folder. When I save the images from the user the images are being stored in C:\inetpub\wwwroot on my local machine.

here is my save path
        string savePath = @"c:\inetpub\wwwroot\SlideShow\Files\" + folderName;

this is how I retrieve the images
    protected void Page_Load(object sender, EventArgs e)
    {
        //create a string to hold the images for the banner
        StringBuilder imageArray = new StringBuilder();
        imageArray = GetImageArray(ResolveClientUrl(folderName));
        //register array so it can be referenced in javascript
        ClientScriptManager csm = Page.ClientScript;
        csm.RegisterArrayDeclaration("Pictures", imageArray.ToString());

    protected StringBuilder GetImageArray(string folderName)
    {
        string Path;
        DirectoryInfo Folder;

        FileInfo[] Images;
        StringBuilder ImageArray = new StringBuilder();

        Path = Server.MapPath(folderName);
        Folder = new DirectoryInfo(Path);
        Images = Folder.GetFiles();
               
        // Looping through all files in the folder and generating
        // a JavaScript array declaration.
        foreach (FileInfo Image in Images)
        {
            if (Image.Extension.StartsWith(".jpg") || Image.Extension.StartsWith(".JPG"))
                ImageArray.AppendFormat("'{0}/{1}',", folderName, Image.Name);
            else
                continue;
        }

        if (ImageArray.Length > 0)
        {
            // Removing the unwanted last comma.
            ImageArray.Remove(ImageArray.Length - 1, 1);
        }

        return ImageArray;
    }
0
cramer0240
Asked:
cramer0240
  • 2
  • 2
  • 2
  • +1
2 Solutions
 
crazymanCommented:
Server.MapPath will map to the projects folder when running in debug because this is where it is executing, however when deployed to the iis folder it shoud map correctly...
0
 
cramer0240Author Commented:
Would I be better off saving the images with something similar to server.mappath rather than writing out  @"c:\inetpub\wwwroot\SlideShow\Files\"?
0
 
crazymanCommented:
Yes, you should never hard code paths, if you need to use the full path like that you can use the web.config file to store configuration...
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
ASPSQLServerCOMCommented:
use
Path = Server.MapPath(folderName);

the best way to code is using \ and ..\ instead of hardcoding the C:\......

http://www.asp101.com/resources/paths.asp

0
 
prairiedogCommented:
>>>On my local machine it is trying to read from
C:\Documents and Settings\\My Documents\Visual Studio 2008\Projects folder
Is this the folder that you have all your ASPX files in?
>>>string savePath = @"c:\inetpub\wwwroot\SlideShow\Files\" + folderName;
Is "SlideShow" the virtual directory of your application?

 
0
 
ASPSQLServerCOMCommented:
one quick thing, are you running this code in Visual Studio debug, try to deploy your code under c:\inetpub\wwwroot\SlideShow\............. and then check
0
 
cramer0240Author Commented:
I did deploy it and checked it and it worked. I was just kinda fuzzy on why Server.MapPath was reading files from the visualstudio/projects folder on my local machine when Server.MapPath was storing images in c:\inetpub\wwwroot\SlideShow\.............  on my local machine. But it is working on the server. I am learning new things and discovering new things each day I work on this. Thanks guys..gals?.....
0
 
prairiedogCommented:
FYI, guys and gals have different icons. :-)

2008-10-07-144959.jpg
2008-10-07-144930.jpg
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 2
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now