Application is in  .NET 2.0 and using Flex 2 as the upload control. 

Okay the application works FINE in IE.


Here is what happens with FIREFOX. 
Select a file to upload, File uploads and on 100% the first error box
appears:
There has been an I/O Error: Error #2038: File I/O Error. URL:
http://faroutcomputers/Upload.axd?
Then you click okay and the second one shows up:
There has been an HTTP Error: status code 500



THIS ERROR IS SHOWN IN THE WINDOWS 2003 Event VIewer.
Exception information: 
Exception type: HttpException 
Exception message: The SaveAs method is configured to require a rooted path,
and the path 'test.mp3' is not rooted.


Anyone know why I get an error in Firefox and IE works like a charm? 

Session("FtpFolder") has a value of "C:\CommercialWebsites\mbelcher\"

and this is also shown in the trace info as being the value of the session
variable. IE works no issues but Firefox says no..... also Safari on a mac
has the same errors as firefox.



CODE BELOW:


 

Imports Microsoft.VisualBasic
 
Imports System
 
Imports System.Data
 
Imports System.Configuration
 
Imports System.Web
 
Imports System.Web.Security
 
Imports System.Web.UI
 
Imports System.Web.UI.WebControls
 
Imports System.Web.UI.WebControls.WebParts
 
Imports System.Web.UI.HtmlControls
 
Imports System.IO
 
 
 
Public Class Upload
 
    Implements IHttpHandler
 
    Implements IRequiresSessionState
 
 
 
 
 
    Public ReadOnly Property isReusable() As Boolean _
 
    Implements IHttpHandler.IsReusable
 
        Get
 
            Return True
 
        End Get
 
    End Property
 
 
 
    Public Sub Upload()
 
 
 
    End Sub
 
 
 
    Public Sub ProcessRequest(ByVal context As HttpContext) _
 
    Implements IHttpHandler.ProcessRequest
 
 
 
        If context.Request.Files.Count > 0 Then
 
            ' get the applications path
 
            Dim tempFile As String = context.Request.PhysicalApplicationPath
 
            Dim j As Int16
 
 
 
            ' get the current file
 
            Dim uploadFile As HttpPostedFile = context.Request.Files(0)
 
 
 
 
 
            ' if there was a file uploded
 
            If uploadFile.ContentLength > 0 Then
 
                ' save the file to the upload directory
 
 
 
 
 
                Dim strDirectory As String =
HttpContext.Current.Session("FtpFolder")
 
 
 
                strDirectory = HttpContext.Current.Session("FtpFolder")
 
 
 
                uploadFile.SaveAs(String.Format("{0}{1}", strDirectory,
uploadFile.FileName))
 
 
 
 
 
                ' HttpPostedFile has an InputStream also. You can pass this
to 
 
                ' a function, or business logic. You can save it a database:
 
 
 
                'byte[] fileData = new byte[uploadFile.ContentLength];
 
                'uploadFile.InputStream.Write(fileData, 0, fileData.Length);
 
 
 
                ' save byte array into database.
 
 
 
                ' something I do is extract files from a zip file by passing
 
                ' the inputStream to a function that uses SharpZipLib found
here:
 
                ' http://www.icsharpcode.net/OpenSource/SharpZipLib/
 
                ' and then save the files to disk. 
 
            End If
 
            'Next
 
        End If
 
 
 
        ' Used as a fix for a bug in mac flash player that makes the 
 
        ' onComplete event not fire
 
        HttpContext.Current.Response.Write(" ")
 
    End Sub
 
End Class

 

Reply via email to