1

私はMicrosoftVisualStudioを使用しており、2つのプロジェクトを含むソリューションファイルを作成しました。プロジェクトAのaspxファイルの1つに、ファイルアップロードコントロールがありました。

「アップロード」ボタンをオンクリックすると、アップロードした画像がプロジェクトAのフォルダとプロジェクトBのフォルダに保存されます。以下のコードを使用してのみ、画像をプロジェクトAフォルダに保存できます。

FileUpload1.SaveAs(Server.MapPath("~/Images/" + filename));

しかし、画像をプロジェクトBフォルダーに保存できません。以下のコードでは、次のエラーが発生していました:ImagesFileはプロジェクトB内のフォルダーです

FileUpload1.SaveAs(Server.MapPath("~/ImagesFile/" + filename));

Could not find a part of the path 'C:\Users\Desktop\DSC000015.JPG'.

とにかく私が別のプロジェクトのファイルパスにアクセスしたことはありますか?

4

1 に答える 1

1

ここでの問題は、Server.MapPathが常にWebディレクトリ内へのパスを提供することです。アプリケーションの外部のパスをマップすることはできません。

このタスクを実行するには、2つの方法があります。

1.絶対パス(「c:\ users \ desktop \」など)である必要があるパスをweb.configファイルに保存し、このパスにイメージ名を追加します。

また

2.プロジェクト2でページを作成する必要があります。このページは、投稿の画像を受け入れ、特定のフォルダーに保存する必要があります。したがって、画像がプロジェクト1にアップロードされると、プロジェクト2に投稿され、最終的にそのディレクトリ内にマップされたフォルダに保存されます。

于 2013-02-02T09:21:01.570 に答える