[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

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

AsyncFileUpload SaveAs Server.MapPath removing Slashes

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
Robert Treadwell
Asked:
Robert Treadwell
1 Solution
 
rockiroadsCommented:
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
 
klakkasCommented:
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
 
Robert TreadwellAuthor Commented:
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

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!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now