2017-08-29 3 views
0

これは私の以前の投稿に関連しています。ASP.Net - Webアプリケーションからダウンロードフォルダにアクセスできない

https://stackoverflow.com/questions/45937117/c-sharp-unbale-to-access- 
downloads-folder?noredirect=1#comment78832001_45937117 

私が望むのは、ASP.Net Webアプリケーションから「ダウンロード」フォルダにアクセスすることです。

string pathUser = 
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); 
string pathDownload = Path.Combine(pathUser, "Downloads"); 
string commentImagePath =pathDownload +"\\test.png"; 

次に、上記のコードがデスクトップアプリケーションで動作することがわかりました。 これはUserProfileがその "環境"で利用可能ですが、Webアプリケーションの環境では利用できません。

私はいくつかのダウンロードを行っており、コンテンツは "ダウンロード"フォルダにダウンロードされます。 そのため、私は "ダウンロード"フォルダが必要です。私はそのコンテンツにアクセスする必要があります。 これを手伝ってください。

+4

Webアプリケーションからユーザーのローカルマシンに「手を差し伸べる」ことはできません。可能であれば、どのようなセキュリティ上の意味があるのでしょうか? – Alex

+0

ユーザーのローカルフォルダにアクセスすることはできません。セキュリティとASPアプリケーションのホスティングのために、サーバーのフォルダにのみアクセスできます。あなたがダウンロード可能なファイルを提出している場合は、ダウンロードフォルダにアクセスする必要はありません。それ以外の場合はマルウェアを書いています –

+0

実際に**できます**しかし、サイトのローカルフォルダを使用しない理由は何ですか? – SeM

答えて

-2

savefileDialogボックスを使用してダウンロードパスを決定することをお勧めします。デフォルトでは、ユーザーがダウンロードした場合、ブラウザは保存場所を尋ねます。

0

ダウンロードフォルダはシステム内の各ユーザーごとに異なるので、c:\ users \ usera \ downloadsとc:\ users \ userb \ downloadsが表示されます。つまり、ダウンロードとは、実際には異なる物理パスを意味します。

同時に、IISでホストされているASP .NETアプリケーションが特定のユーザーを偽装するため、ユーザーが関心のあるパスに対して十分な特権を持っていることを確認してください。また、ダウンロードフォルダは、Windowsがデフォルトでアカウント間でアクセスすることから保護するフォルダである可能性もあります。

私はあなたのウェブサイトのルートに相対的な特定のフォルダにファイルを保存する方が良いと思います。それ以外の場合は、特定のフォルダをIISの仮想ディレクトリとしてマップするようにして、サイトが実際には他の場所に居る間はルートを相対パスとして表示します。

関連する問題