PostedFile.ContentType returns "application/octet-stream" instead of "application/vnd.ms-excel"

Discussion in 'ASP .Net' started by CVerma, Sep 23, 2004.

  1. CVerma

    CVerma Guest

    I'm using an html input control
    (System.web.UI.HTMLControls.HTMLInputFile) to upload files such as
    msword, excel, jpg, and pdf.

    I have the encType property set in the form:
    encType="multipart/form-data"

    <INPUT id="UploadFile" type="file" name="UploadFile" runat="server">

    Private Sub btnUploadFile_Click(ByVal sender As System.Object, ByVal e

    As System.EventArgs) Handles btnUploadFile.Click

    If UploadFile.PostedFile.FileName <> "" Then

    Dim imgdatastream As Stream =

    UploadFile.PostedFile.InputStream

    Dim imgdatalen As Integer =

    UploadFile.PostedFile.ContentLength

    Dim imgtype As String = UploadFile.PostedFile.ContentType

    ---
    --
    ---
    more code to add the file to a record and store in SQL server

    End If

    End Sub


    Problem: I have 3 different servers on which the above function works
    fine. But on one server which is behind firewall and has certificate
    installed on it, the excel and word files return ContentType as
    "application/octet-stream". instead of "application/msword" or
    "application/vnd.ms-excel"
    The uploaded files are saved as image in SQL server 2000.
    Since the content type is "application/octet-stream", while
    downloading the files using httphandler funtionality, the files get
    downloaded as

    "test.xls.aspx"
    "test.doc.aspx"
    If I save the above files as "test.xls", the files are in right
    format. But from users point of view, it should save as test.xls.xls
    in the first place.

    AND on the other servers, same files have content type as
    "application/vnd.ms-excel", so while downloading they download as
    "test.xls.xls"
    "test.doc.doc"

    Does anyone know what could be the reason for the files having the
    contenttype as "application/octet-stream".

    Thanks,
    Chanda.
    CVerma, Sep 23, 2004
    #1
    1. Advertising

  2. CVerma

    Hans Kesting Guest

    CVerma wrote:
    > I'm using an html input control
    > (System.web.UI.HTMLControls.HTMLInputFile) to upload files such as
    > msword, excel, jpg, and pdf.
    >


    I wonder, where is the ContentType set? It is possible that this is done on the
    client. If this is so, and the client you tested from doesn't know about ".xls"
    files, then it would return the "unknown binary" mimetype, application/octet-stream.

    Hans Kesting
    Hans Kesting, Sep 24, 2004
    #2
    1. Advertising

  3. CVerma

    C Verma Guest

    Hi Hans,
    Thanks for your input. I figured the same. TO slove the problem, I am
    finding the extension of the file being uploaded and if it is excel,
    then I am setting contentType to "application/vnd.ms-excel". If word,
    then "application/msword"

    However I don't know what all files a user can upload, I am limiting
    myself to word and excel because there are the extensively uploaded
    files on our website.

    Thanks,
    Chanda.


    *** Sent via Developersdex http://www.developersdex.com ***
    Don't just participate in USENET...get rewarded for it!
    C Verma, Sep 28, 2004
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Paul J. Lay
    Replies:
    2
    Views:
    619
    Steven Cheng[MSFT]
    Apr 8, 2004
  2. Stephen Riek
    Replies:
    0
    Views:
    4,429
    Stephen Riek
    Sep 19, 2003
  3. Replies:
    2
    Views:
    6,117
  4. Trapulo
    Replies:
    8
    Views:
    12,131
    M Minaga
    Sep 15, 2010
  5. Jerry O
    Replies:
    1
    Views:
    460
    Manohar Kamath [MVP]
    Sep 4, 2003
Loading...

Share This Page