2012-01-21 4 views
0

エンドユーザーからFTPサイトにいくつかのファイルをアップロードすると同時に、いくつかのフィールドをデータベースに書き込むアプリケーションを構築しています。 IEのファイルアップロードは正常に動作します... FirefoxとChromeでは、ファイルを見つけることができないというエラーが表示されます(現時点ではlocalhostで実行していますが、まだ開発環境や本番環境に移行していません)。FTPでの.netのアップロード - いくつかのブラウザで正しいファイルパスが得られない

私は経由でファイルを取得しようとしている。また、アプリケーションがに居住されているフォルダを指している...

Server.MapPath(FileUpload1.PostedFile.Filename) 

をそして:。

Path.GetFullPath(FileUpload1.PostedFile.Filename) 

...これはc:// Programs(x86)/ ...を指しています...

私がそれを入手した場合、ファイルを正しくアップロードすることができますどちらのフォルダからでも、どこからでも。

この点をどのように適切な場所に指し示すかについてのアイデアはありますか?あるいは、それがサーバー環境に置かれたら、実際には正しく動作しますか?

ありがとうございます!

答えて

0

FileUpload.PostedFile.Filenameは、各ブラウザで異なる方法で動作します。 FirefoxとChromeでは完全なパス(ファイル名のみ)は含まれません。それはあなたの顧客のブラウザによって異なります。

0
FileUpload.PostedFile.FileName 

実際にアップロードされたファイルのパスが表示されます。

すべての新しいブラウザ(FF 3.6シリーズ、Chrome、IE7 +)では、セキュリティ上の理由によりこの機能が無効になっています。どんなウェブサイトも、ディレクトリ構造を与え、ウェブサイトの所有者に他の重要なことを公開する可能性があるので、クライアントのシステムに格納されたファイルのパスを必要としないはずです。

あなたのケースでは、上記のコードはファイル名のみを返しました。

このリンクを確認することができます。Fileupload control - fullpath issue

関連する問題