asp.netでWebアプリケーションを使用して私のPCからファイルを閲覧する
-
27-09-2019 - |
質問
IISを使用してアップロードしたWebアプリケーションがあります。アプリケーションを使用しているユーザーが、(ユーザー)コンピューターにあるファイルを選択して、そのコンテンツを読み取ることができます。
コードは次のとおりです。
TextReader trs = new StreamReader(faFile.Value);
DataAccessLayer.clearFA();
string line = trs.ReadLine();
// Read all unneeded data
while (line != "** Start Data **")
{
line = trs.ReadLine();
}
line = trs.ReadLine();
while (line != null)
{
string[] words = line.Split('*');
// There is no message
if (words[4] == "")
{
DataAccessLayer.insertIntoFA(Int32.Parse(words[1]), words[3].Replace("'", ""));
}
else
{
DataAccessLayer.insertIntoFA(Int32.Parse(words[1]), words[4].Replace("'", ""));
}
line = trs.ReadLine();
}
}
PCから実行すると機能します。しかし、IISから実行しようとすると、次のエラーが得られます。
Could not find a part of the path 'C:\Documents and Settings\myUser\Desktop\file.txt'.
アプリケーションがユーザーPCからファイルを読み取ることができないことを理解しています。どうすればそれを機能させることができますか?
ありがとう!
グレッグ
解決
これはセキュリティ上の理由で行われます - ブラウザはユーザーのファイルシステムにアクセスできません。
ブラウザ内で実行されている他のすべてのテクノロジーがサンドボックスで制限されているため、これを回避する方法はありません(再び、セキュリティ上の理由から)。
あなたが得ることができる最も近いのは、Anを使用することです <input type="file">
これにより、ユーザーはアップロード用のファイルを選択できます。
他のヒント
IE 8のアップロードファイルのパスはフルパスです。フルネームからファイル名を取得できます。ファイルを保存する前に、サーバーパスとファイル名を組み合わせます
所属していません StackOverflow