4
votes

I'm building an internal web app which allows the user to upload a file via the file input element as follows:

<input class="WebFormControls" type="file" accept=".csv" id="fileBulkCsv" name="fileBulkCsv" onchange="javascript:OnFileUploadChange();" />

The Problem

My problem is that the client's SOE uses IE8 (boo hiss, yes I know). Unfortunately, this version of IE doesn't support the accept attribute of the input element in conjunction with type="file" (works fine in Chrome).

The Question

My question is: is there another way to reproduce this behaviour? My goal is to have the browser open a file dialog which is preset to filter in only CSV files.

I've tried using both file extension pattern (".csv") and MIME type ("text/csv") arguments, but it does not work and I suspect that IE8 simply does not handle the accept attribute.

Out of Scope

Please note that I'm quite comfortable with the concept of using JavaScript to validate the file name and its extension. However, this happens after the fact, once the user has already selected a file to upload. I'm looking for a way (if possible) to replicate the accept behaviour on Microsoft's browser.

Thanks!

1

1 Answers

8
votes

The only way you can achieve this is to use external uploader in flash or in java (applet)

You could use for example swfupload: https://code.google.com/p/swfupload/

Unfortunately checking file type is in html5 api, which is not support by IE8