の絶対パスのアップロードできるファイル
-
18-09-2019 - |
質問
私はアップロードファイルの簡単なFileUpload管理の名前 theFile
(ASP.NET).いることができるように絶対パスのファイルが thefile.PostedFile.FileName
や thefile.FileName
全く同じで、ファイル名になります。利用できないサーバーです。MapPathする所存でございますので今後さ省はこのファイルを別サーバー移転送バイト配列をwebservice).
がまとめられることにより、このライン:
Dim fStream As New FileStream(thefile.FileName, FileMode.Open, FileAccess.Read)
ですので、ファイル名およびマッピングでの相対パスのVS!さんありがとうございます。絶対パ---
解決
HTTPを通じてアップロードされたファイルは、リモート(クライアント)マシンの完全なパスが含まれることはありません - それは彼らのディレクトリ構造に関する情報を与えることができ、そのため、セキュリティ上のリスクと考えられています。プラス、それはどのような使用でしょうか?誰かがあなたにインターネット上からファイルをアップロードされている場合は、なぜあなたは自分のマシン上に存在していたパスに、ローカル(asp.netサーバー)マシン上のファイルストリームをオープンしようとしているのでしょうか?
アップロードされたファイルは、実際には、要求の一部として、バイトストリームとして通ってきます。あなたは FileBytes コントロールのプロパティファイルを取得、またはサーバーに保存するには名前を付けて保存()メソッドを呼び出します。あなたのケースでは、あなたはおそらくちょうどバイトを得ることができ、あなたが確認する必要があり呼び出すWebサービスにそれらをオフに送信ます。
他のヒント
(転送バイト配列をwebservice).
からだに現在必要なファイルのバイト配列、なぜアクセスしてはならないファイルのバイト配列をtheFile.FileBytesですか?
こちらは参考にFileBytesのFileUploadウェブ制御: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.filebytes.aspx
ただのストリームオブジェクトを直接、自由に選択できるため、FileContent物件です。こちらは参考にFileContentのFileUploadウェブ制御: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.filecontent.aspx