Solved

AsyncFileUpload SaveAs Server.MapPath removing Slashes

Posted on 2010-09-21
3
1,396 Views
Last Modified: 2012-05-10
Using the AsyncFileUpload control and when setting the fullPath with Server.MapPath I get the following string 'C:Inetpubhostsemembercare.nethttpsdocsuserItemsUploadintreadwellRobert4.JPG'

The slashes were removed and the domain name is cut off.

Why are the slashes or characters being removed?
Protected Sub UploadedComplete_Click(ByVal sender As Object, ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs) Handles AFUMemberPicture.UploadedComplete

        Dim UserNameTB As TextBox = CType(CreateUserWizardStep2.ContentTemplateContainer.FindControl("UserName"), TextBox)
        Dim fileOK As Boolean = False

        Try
            If AFUMemberPicture.HasFile Then
                Dim fileExtension As String
                fileExtension = System.IO.Path. _
                GetExtension(AFUMemberPicture.FileName).ToLower()
                Dim allowedExtensions As String() = _
                {".jpg", ".jpeg", ".png", ".gif", ".bmp"}
                For i As Integer = 0 To allowedExtensions.Length - 1
                    If fileExtension = allowedExtensions(i) Then
                        fileOK = True
                    End If
                Next
                If fileOK Then
                    Try
                        Dim relativePath As String = "~/UserItems/Uploads/" + UserNameTB.Text + "/" + AFUMemberPicture.FileName
                        Dim fullPath As String = Server.MapPath(relativePath)
                        
                        'Save the file to user personal folder using fullPath.
                        AFUMemberPicture.SaveAs(fullPath)

                        'Retrieve the user ID in order to be used in Member Profile Picture Database call
                        Dim userID As Integer = getUserID(UserNameTB.Text)
                        'Insert or Update picture in table as relative Path
                        MemberProfilePicture(userID, relativePath)
                        'Update Picture image
                        Session("uploadedImageUrl") = relativePath
                        PreviewImage.ImageUrl = relativePath
                    Catch ex As Exception
                        UploadDetails.Text = "File could not be uploaded."
                    End Try
                Else
                    UploadDetails.Text = "Cannot accept files of this type."
                End If
            End If

        Catch ex As Exception
            ClientScript.RegisterStartupScript(Me.GetType(), "alert", "<script language='javascript'>alert('UploadedComplete_Click produce the following error: " + ex.Message + "');</script>")
            Response.Write(ex.Message)
        End Try
    End Sub

Open in new window

0
Comment
Question by:Robert Treadwell
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 65

Expert Comment

by:rockiroads
ID: 33730763
Have you tried specifying @? its supposed to not escape so maybe it might have an effect. I am not sure but give it a try

I think its something like this

Dim fullPath As String = @Server.MapPath(relativePath)

or @ goes inside MapPath. Cant remember the exact syntax
0
 
LVL 7

Expert Comment

by:klakkas
ID: 33732340
I tried this:
        Dim relativePath As String = "~/UserItems/Uploads/1.gif"
        Dim fullPath As String = Server.MapPath(relativePath)

And got a correct response:
        ? fullpath
        "C:\temp\WebSite1\UserItems\Uploads\1.gif"

Can you please tell us the result of this line:
Dim relativePath As String = "~/UserItems/Uploads/" + UserNameTB.Text + "/" + AFUMemberPicture.FileName
                       
What is the exact contents of relativePath after this command?
0
 

Accepted Solution

by:
Robert Treadwell earned 0 total points
ID: 33789839
The Solution to my problem was that server did not have access to folder.  Once I assigned proper access to code and string concatenation work perfectly.
0

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In .NET 2.0, Microsoft introduced the Web Site.  This was the default way to create a web Project in Visual Studio 2005.  In Visual Studio 2008, the Web Application has been restored as the default web Project in Visual Studio/.NET 3.x The Web Si…
It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
Attackers love to prey on accounts that have privileges. Reducing privileged accounts and protecting privileged accounts therefore is paramount. Users, groups, and service accounts need to be protected to help protect the entire Active Directory …

737 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question