-1

ユーザーにテキスト ファイルのアップロードを提供する MVC Web アプリケーションがあります。次に、これらのテキスト ファイルをファイル システム ウォッチャーによって監視されているフォルダーに保存します。次に、新しく生成されたファイルに対して、それらのファイルを FTP サーバーに転送します。すべて問題なく動作しますが、ファイル作成日に関する小さな問題があります。ファイルを Web アプリケーションにアップロードすると、元のファイルの作成日が現在の日付 (ファイルが実際にアップロードされた時刻) に置き換えられることに気付きました。これは、ローカル マシンでは発生しません。ファイルを保存する前に、ファイルの作成日を取得しようとしますが、常に間違っています。サーバーの構成設定でしょうか?私の要件は、元のファイル作成日を取得し、それをミリ秒単位のエポック日付に変換することです。繰り返しますが、ローカルの開発マシンではうまく機能します。サーバー上だけで、元の作成日が上書きされます。以下は私のコードです:

 string storedFileName = string.Format("{0}{1}.out", destinationPath, System.Guid.NewGuid());
                            file.ElementAt(1).SaveAs(storedFileName);

                            DateTime fileCreatedDate = System.IO.File.GetCreationTime(file.ElementAt(1).FileName);

                            //Change Creation DateTime to Epoch
                            TimeSpan span = (fileCreatedDate - new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime());
                            double epoch = span.TotalMilliseconds;
4

1 に答える 1

1

いいえ。

HTTP ファイル アップロードの一部として含まれるファイルに関するメタデータはありません。取得できるのはファイル名、場合によってはパスです。

他のファイル情報を取得する必要がある場合は、カスタム アップロードを実行するために何らかのクライアント アプリケーションを作成する必要があります。ブラウザだけでは、スクリプトにそのような情報は提供されません。

于 2012-11-09T17:28:01.857 に答える