プロが教えるわが家の防犯対策術!

IE8とIE11の非互換で悩んでいます。

<input type=file>でファイルを選択後にエクスプローラ等で選択したファイルを
削除してSUBMITとするとIE8では0バイトのファイルとしてサーバ上で
エラーハンドリングができるのですが、IE11だと削除したはずのファイルが
アップロードされてしまい、エラーにすることができません。

IE11からファイル選択時にファイルハンドルをIEが取得してしまうせいだと
思いますが、FileAPIを使用してもIEがハンドルを取得済みのためか
削除されたことを認識できません。

やりたい事はファイルを選択された後にファイルを削除された場合、
ブラウザ側でアップロードをキャンセルしたいのですが・・・
(サーバー側では無理・・・だと思います)

どなたか、うまい方法をご存じではないでしょうか?

質問者からの補足コメント

  • 回答ありがとうございます。

    すみません、ちゃんと書いていませんでしたが、削除したはずのファイルの情報は
    あたかも存在しているかのごとくサーバに送信され、保存できてしまいます。
    (0バイトのファイルだったら楽だったのですが)

    ファイルハンドルを握られてしまうと、見た目は削除できても完全には消えていないっぽい。

    どうもIE10から動作が変わっているようです。
    https://support.microsoft.com/ja-jp/kb/2886300

      補足日時:2015/09/02 23:44

A 回答 (1件)

>IE11だと削除したはずのファイルが


>アップロードされてしまい、エラーにすることができません。

うーん、存在しないファイルを送るのですから
送られてもファイルサイズが0になっているはず
それで判定するというのはどうでしょう?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!