1

私は .aspx ページでファイル アップロード コントロールを持っています。場所が常に同じであるとは限らず、.sln と同じディレクトリ、デスクトップ、どこにでもある画像を一度にアップロードしたいと考えています。

このコードを使用して、ファイルの作成時間を読み取ります

string savePath = MapPath("~/" + Path.GetFileName(e.FileName));
FileInfo MyFileInfo = new FileInfo(savePath);

string dt = MyFileInfo.CreationTime.Day.ToString();
string mn = MyFileInfo.CreationTime.Month.ToString();
string yr = MyFileInfo.CreationTime.Year.ToString();

あることに気がつきました

画像がウェブサイトと同じフォルダにある場合、すべての正しい値が得られます

dtmnおよび yr

しかし、その場所の外にある場合は、常に同じ価値が得られます

{01/01/1601 00:00:00}

これを整理する方法がわかりませんか?アドバイス、役に立つコードはありますか? ありがとう

4

1 に答える 1

1

クライアント/サーバーの障壁をまだ理解していないようです。クライアントからのパスは、サーバーでは意味がありません。

ローカルでデバッグしているため、ウェブサイトがクライアントと同じマシンで実行されていることがあります。これは単なる偶然であり、(偶然にも) コードが機能することがあります。

適切なファイル アップロードは、パスを無視し、ファイル アップロード コントロールによって提供されるストリームから読み取ることによって機能します。ファイルのアップロードは、サーバーへの単なるバイト ストリームです。

于 2013-01-02T22:12:56.203 に答える