How can I check if the browser support HTML5 file upload (FormData object)?

后端 未结 7 1925
离开以前
离开以前 2020-12-08 04:38

How can I check if the browser support HTML5 file upload (FormData object)?

var fd = new FormData();

Following the answer from this post, b

相关标签:
7条回答
  • 2020-12-08 05:00

    You need to check if the browser supports the HTML5 file API. I do that by checking if the FileReader function is set, if it’s not set it means that the browser won’t support the file API.

    // Check if window.fileReader exists to make sure the browser supports file uploads
    if (typeof(window.FileReader) == 'undefined') 
        {
            alert'Browser does not support HTML5 file uploads!');
        }
    
    0 讨论(0)
  • 2020-12-08 05:06

    You could may be use the workaround provided by this library. https://github.com/francois2metz/html5-formdata

    0 讨论(0)
  • 2020-12-08 05:09

    Try if( window.FormData === undefined ) or if( window.FormData !== undefined ).

    0 讨论(0)
  • 2020-12-08 05:10
      function supportFormData() {
         return !! window.FormData;
      }
    

    Source: https://www.new-bamboo.co.uk/blog/2012/01/10/ridiculously-simple-ajax-uploads-with-formdata/

    0 讨论(0)
  • 2020-12-08 05:14

    From http://blog.new-bamboo.co.uk/2010/7/30/html5-powered-ajax-file-uploads

    function supportAjaxUploadProgressEvents() {
        var xhr = new XMLHttpRequest();
        return !! (xhr && ('upload' in xhr) && ('onprogress' in xhr.upload));
    };
    

    As FormData, the ability to send() one, and the upload property (and its onprogress event) are all part of XMLHttpRequest level 2, you can test for .upload to see if you've got a level 2. I don't have a Mac handy, but the function (sadly, but correctly) returns false for Opera 11.50 (and true for Firefox 4).

    0 讨论(0)
  • 2020-12-08 05:23

    On Safari 5.1.7 , Firefox <6, Opera < 12.14 form data is suported but it is buggy.

    • Safari will return file size 0

      Opera does not support append method of form data

      firefox <6 does not work correctly

    0 讨论(0)
提交回复
热议问题