WEBアプリにてアップロードファイルのローカル最終更新日時を
取得できるか調べてみましたが、結論から言うとできません。
言語はJavaですが多言語も同様です。
[調査1]
・リクエストをパケットモニタしましたが、
飛んでいる情報は以下3つになります。
フィールド名
ファイルパス
ファイル内容
[調査2]
・RFC 1867 ファイルアップロードについての規定にも
タイムスタンプの記載はなし
RFC原文
studyinghttp日本語訳
上記調査からタイムスタンプのようなファイル属性はhttp通信時に
欠落する(リクエストに付加されない)ためサーバ側で取得
することは不可能。
最終更新日時の取得などはファイルの一意性を確認したい
場合が多いと思うので、別の方法として
java.security.DigestInputStream等を使用してファイル内容の
ハッシュ値を保存しておく方法が考えられる
(よくダウンロードファイルの改変チェックに使用されているもの)。
ファイル名
ファイルサイズ
ハッシュ値
の比較で全て同じであればファイルの一意性としても
よいかな。
0 件のコメント:
コメントを投稿