Solved

AsyncFileUpload SaveAs Server.MapPath removing Slashes

Posted on 2010-09-21
3
1,389 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

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!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
ASP.NET Content Page 3 51
VB.net Code to make a TaskPane float in Excel Add-in 2 25
Get sourcecode path 14 46
Header Font Size in Grid View 6 23
Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

756 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