これは似ています: JavaScript を使用してファイルを開くには?
目標: 画像のダブルクリックでファイルを取得/開く
function getFile(filename){
// setting mime this way is for example only
var mime = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
jQuery.ajax({ url : 'get_file.pl',
data : {filename:filename},
success : function(data){
var win = window.open('','title');
win.document.open(mime);
win.document.write(data);
win.document.close();
}
});
}
jQuery('#imgID').dblclick(function(){
getFile('someFile.docx');
});
私は頭の中でこれを行っていますが、上記はテキストファイルでは機能しますが、バイナリでは機能しないと思います。これを適切に行うプラグインはありますか?ファイルをダウンロードするのではなく、ブラウザー (またはアプリケーション) で開くのが理想的ですが、それが夢だとは思えません。保存/開くダイアログでファイルをダウンロードする必要がある場合は、それで問題ありません。
編集:
言及するのを忘れていた情報の 1 つは、これを POST 要求にしたいということです。これが、私が最初に AJAX を検討していた理由の一部です。フォーム/iframe を作成して同様のことを行う回避策を見てきましたが、返された情報のより良いハンドラーを探していました。