Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Accept attribute in file input for IE8

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!

like image 552
Mark Micallef Avatar asked Feb 17 '23 06:02

Mark Micallef


1 Answers

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

like image 103
Piotr Stapp Avatar answered Feb 28 '23 03:02

Piotr Stapp