2010-11-29 7 views
1

私はアップロードされたファイルを処理するためにファイルをアップロードするためのフォームとサーバー側のCGIプログラムを持っています。ファイルを別のファイル名にリネームしてクライアントに戻したいのですが、結果を返すためにJSONを使用したいのですが、ブラウザは常にreturnd文書をファイルに保存するように求めます...ファイルをアップロードし、json結果を解析することはできますか?

結論:ファイルをアップロードしたいのですが、HTTPレスポンスから解析して、サーバー側で生成された新しいファイル名を取得します。

 <form action="/a.bc?cmd=upload&user_name=binc2&size=100&type=normal" method="post" enctype="multipart/form-data"> 
       <input type="file" name="image"> 
       <input type="submit" value="Submit" /> 
       <input type="text" value="ade75596e1d9a04d4ae0c1e81aa8fcf0" name="key" /> 
     </form> 

投稿にはJSON応答があります。

答えて

1

あなたは実際にはAjaxリクエストをしていないように聞こえます...ヘッダーは(であるため)ダウンロードするように求められています。あなたがajaxリクエストを実行していない、または他のスクリプトでレスポンスを消費している場合は、jsonを使用する理由はありません。レンダリングしたいものをjsutレンダリングしてください。

また、ajaxで直接ファイルをアップロードすることもできません。これを行う必要がある場合は、さまざまなテクニックのために "ajax upload"を検索してください。

+0

AJAX .ajax()コールを使用してファイルを投稿することはできますか?セキュリティホールがある可能性があるので、ブラウザで許可されないと思います。 –

+0

いいえ、回避策を使用する必要があります(実際には一部のブラウザではネイティブで行うことができますが、そうでない場合は通常は他のブラウザで代替する必要があります)。最も一般的なのは非表示のiframeを使用することです。いくつかのjqueryプラグインもあります。http://www.webdeveloperjuice.com/2010/02/13/7-trusted-ajax-file-upload-plugins-using-jquery/ – prodigitalson

関連する問題