Solved

AsyncFileUpload SaveAs Server.MapPath removing Slashes

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

SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

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…
IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
Come and listen to Percona CEO Peter Zaitsev discuss what’s new in Percona open source software, including Percona Server for MySQL (https://www.percona.com/software/mysql-database/percona-server) and MongoDB (https://www.percona.com/software/mongo-…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…

688 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