Solved

AsyncFileUpload SaveAs Server.MapPath removing Slashes

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

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
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…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

744 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now