0

私が開発したWebサイトにhtml5uploderを完全に統合しましたが、IEで動作するようには設計されていませんでした。しかし、クライアントは現在、少なくともIE10のサポートを望んでいます。IEはFileAPIをサポートしていますが、ドラッグアンドドロップファイルアップローダーはどのIEブラウザーでも機能しません。

4

2 に答える 2

0

あなたのアプローチは私のために働きます。JS とサーバーから IE 固有の条件を削除します。IE10、IE11、Chrome で動作します。

Javascript

private onFileChange(e) {
  var file = _.first(e.target.files);
  if (!file) { return; }

  var xhr = new XMLHttpRequest();
  xhr.open("POST", '/upload', true);
  xhr.setRequestHeader("Session-Id", 'secret');

  var reader = new FileReader();
  reader.onload = function(){
    xhr.send(this.result);
  };
  reader.readAsDataURL(file);
}

Railsサーバー上

class UploadsController < ApplicationController
  def create
    file_id = DateTime.current.strftime('%Y_%m_%d_%H_%M_%S_%L') + '_' +
              SecureRandom.hex

    base64_content = request.body.read.to_s.split(',').last
    file_content = Base64.decode64(base64_content)

    File.open("tmp/#{file_id}", 'wb'){ |f| f.write(file_content) }

    render json: { id: file_id }
  end
end
于 2016-11-16T08:20:14.290 に答える