0

http://mySite/Uploads/ 新しいフォルダーを作成してファイルを保存したいユーザーごとに、サイトにファイルアップロード用のフォルダーがあります。それはサイトの訪問者のために機能します/しかし、私は管理サイトも持っています. 従業員は、同じディレクトリにファイルをアップロードできる必要があります。
Directory.CreateDirectory は、URI アドレスを処理できないというエラーを返します。通り"http://mySite/Uploads/UserId"ます。私が間違っている?別のメカニズムを使用する必要がありますか?

4

3 に答える 3

0

私が間違っている?

Directory.CreateDirectoryはい、 URLではなく物理フォルダーをメソッドに渡す必要があります。例えば:

Directory.CreateDirectory(Server.MapPath("~/uploads/UserId"));

このServer.MapPathメソッドは、次のようなフォルダーを返す必要がありますc:\inetpub\wwwroot\mysite\uploads\userid

于 2013-03-17T17:53:35.633 に答える
0

システムルートを基準にしたパスを使用する必要があります。あなたはMapPathメソッドでそれを行うことができます。

var uploadsRoot = Server.MapPath("~Uploads");
var userUploadFolder = Path.Combine(UploadsRoot, userId.ToString());
Directory.CreateDirecty(userUploadFolder);
于 2013-03-17T17:54:19.080 に答える
0

興味のある方はどうぞ。両方のサイトの IIS で仮想フォルダー「アップロード」を作成しました。iisでサイトを右クリック=>仮想フォルダーを追加するか、どういうわけか、私のiisは英語ではありません。両方のサイトで行います。フルパスは同じフォルダーを指しているので、使用できますServer.MapPath("~Uploads")。管理サイトhttp://adminSite/Uploads/では 、メインサイトではhttp://mySite/Uploads/です。あるアドレスでファイルをアップロードすると、常に別のアドレスからアクセスできます。

于 2014-01-10T14:06:33.997 に答える