2012-05-14 15 views
0

私はユーザーの介入なしにクライアントからサーバーに直接ファイルをアップロードできるaspxページを作成しようとしています。ユーザーがURLのファイルパスを指定したときに、その特定のファイルをサーバーにアップロードする必要があるようなことをしたいと思います。openfileダイアログを使わずにクライアントからサーバーにファイルをアップロード

例:ユーザーが後の値を変更することができ

ht.tp://XXX.XXX.XXX.XXX/File_upload/File_Uploader.aspx?upload=C:/sample.csv &タイプ= CSV xxx.xxx.xxx.xxxにあるサーバーにアップロードする必要があります。

これは、csvファイルが作成されているかどうかを確認する単なる試行に過ぎません。サーバーであるかどうか、および作成されていないことを示します。

クライアント側のファイルをサーバー側にコピーしたいだけで、上で指定した形式のaspxページのみでなければなりません。 他の良い方法がある場合は、私を案内してください。ありがとう。

+0

通常、同じ回答を1回だけ投稿するだけで十分です(http://stackoverflow.com/questions/10545227/file-upload-from-client-side-without-use-fileupload-controls):) –

答えて

3

ユーザーの操作なしでファイルをアップロードすることは可能です。彼は明示的な行動をしなければならない:&をドラッグするか、ダイアログウィンドウでファイルを選択する。

セキュリティ上の理由 HTMLページがリモートサーバーに任意のファイルをアップロードできるかどうかをユーザーが選択することなく、ユーザー文書、設定、パスワードなどをアップロードできるかどうかを想像してください。ブラウザを実行するWindowsユーザーに送信します。同様の理由から、value属性でさえも無視され、すべてのブラウザがaccept属性を処理するわけではありません(続行するには、ユーザーが多かれ少なかれ、必要なファイルを選択する必要があります)。以前のバージョンのFirefoxでは、ファイルをアップロードするためにinputタグをプログラムでクリックすることさえできませんでした。

+0

あなたそこにした(大胆ではない):D –

+0

@this私は興味があります。それを行う方法はありますか? –

+0

@subirkumarsao:大胆な行動をどうやって見たら、私は答えを読んでいたのですが、ポストが修正されたという警告が表示されました。あなたは大胆です。 –

0

ファイルの内容を投稿する必要があります。

これは、ファイルアップロードダイアログを使用しているときのブラウザの動作です。ブラウザはファイルを開き、HTTP経由でコンテンツを送信します。

たとえば、wget --post-file=file.txtを使用してコンテンツを転記することができます。サーバー上で、POSTデータを読み取ってファイルの内容を取り出すことができます。

+0

はい、HTMLページから任意のファイルの内容を読み取ることはできません。つまり、シェルスクリプト、アプリケーションなどからHTMLを行うことはできますが、HTMLページ自体からはできません。 –

+0

返事ありがとう、私はあなたが言ったのと同じです。あなたが私にサンプルコードを提供できるなら、それは非常に役に立つでしょう。基本的に私の要件は異なります。私は.csvファイルからFile Pathを読み込み、 "filepath"のベースでサーバにアップロードします。 –

+0

はいアドリアーノ、私はHTMLページにコードが必要です。 –