- PR -

ファイルアップロードしたファイルのタイムスタンプ

投稿者投稿内容
ノモン
会議室デビュー日: 2007/02/01
投稿数: 15
投稿日時: 2007-06-06 11:37
strutsのfileuploadタグを使用して、サーバにファイルをアップロードしております。
その際、アップロードしたファイルのタイムスタンプが
サーバにアップロードした日時になってしまいます。

fileuploadタグで、クライアントのタイムスタンプのまま
サーバにアップロードをするには、JSPにロジックを埋め込む以外ないですかね?

他の方法などありましたら、ご教授ください。
よろしくお願いします。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2007-06-06 11:51
日付をユーザーに入力してもらう以外、つけようがないのでは…。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2007-06-06 11:52
パケットをモニタして確認してみましたが、そもそも日時の情報が送られていないみたいです。
JSPやActionにロジックを埋め込もうにも、サーバサイドでクライアントサイドのタイムスタンプをとる方法はあるんでしょうか?
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-06-06 11:59
RFC 1867 (HTTPでのファイルアップロードが規定されている)をざっと確認しましたが、
タイムスタンプについての記述はないようでした。
そもそもファイル転送に際してファイルのタイムスタンプ情報は欠落すると思ったほうがよいでしょう。

ブラウザ側では少なくとも処理されないでしょうから、ローカルファイルのタイムスタンプをサーバ側に反映させるには、なんらかの方法でローカルファイルのタイムスタンプをサーバに送る必要があります。
それはブラウザからローカルファイルに対してアクセスを行う必要があるということを意味するわけで…。
<input type="file">の情報はセキュリティの関係上、javascriptなどからアクセスできません。
これらの事情からしても、まともな方法でクライアント側のファイルのタイムスタンプをサーバに送る手立てはないように思えます。
Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 2007-06-06 12:56
なぜアップロードされたファイルのタイムスタンプが必要なのでしょう?
その後に利用する値ならばファイルの中に書くか、zipなどでアーカイブしてからアップロードする方法が良いと思います。
ノモン
会議室デビュー日: 2007/02/01
投稿数: 15
投稿日時: 2007-06-06 13:10
みなさま返信ありがとうございます。
意外とファイルアップロードのタイムスタンプについて参考になる情報が少なくて、
本当に助かります。

>mioさん
「日付をユーザーに入力してもらう」という回避策もありですね。


>インギさん
そういうときにパケットモニターを使うと便利なんですね。勉強になります。
サーバに送る前にファイルパスからタイムスタンプを取得して、
タイムスタンプを送ろうかと考えていました。
でも、nagiseさん曰くそれも難しそうですね。


>nagiseさん
「<input type="file">の情報はセキュリティの関係上、javascriptなどからアクセスできません。」
そういう制約もあるんですね。
まともな方法ではかなり厳しいみたいですね・・・。


>Java僧さん
すでにアップロードしたファイルかどうかを知るためだと思います。



[ メッセージ編集済み 編集者: ノモン 編集日時 2007-06-06 16:41 ]
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2007-06-06 13:20
引用:

すでにアップロードしたファイルかどうかを知るためだと思います。



それなら、ファイルのハッシュ値を計算して、保持しとく方法はいかがでしょうか?
ノモン
会議室デビュー日: 2007/02/01
投稿数: 15
投稿日時: 2007-06-06 16:49
>burton999さん
ファイルのハッシュ値ですか。
そのような方法で同一ファイルかどうかの判断ができるんですね。
検討してみます。
ありがとうございます。

スキルアップ/キャリアアップ(JOB@IT)