- - PR -
ファイルアップロードしたファイルのタイムスタンプ
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-06-06 11:37
strutsのfileuploadタグを使用して、サーバにファイルをアップロードしております。
その際、アップロードしたファイルのタイムスタンプが サーバにアップロードした日時になってしまいます。 fileuploadタグで、クライアントのタイムスタンプのまま サーバにアップロードをするには、JSPにロジックを埋め込む以外ないですかね? 他の方法などありましたら、ご教授ください。 よろしくお願いします。 | ||||
|
投稿日時: 2007-06-06 11:51
日付をユーザーに入力してもらう以外、つけようがないのでは…。
| ||||
|
投稿日時: 2007-06-06 11:52
パケットをモニタして確認してみましたが、そもそも日時の情報が送られていないみたいです。
JSPやActionにロジックを埋め込もうにも、サーバサイドでクライアントサイドのタイムスタンプをとる方法はあるんでしょうか? | ||||
|
投稿日時: 2007-06-06 11:59
RFC 1867 (HTTPでのファイルアップロードが規定されている)をざっと確認しましたが、
タイムスタンプについての記述はないようでした。 そもそもファイル転送に際してファイルのタイムスタンプ情報は欠落すると思ったほうがよいでしょう。 ブラウザ側では少なくとも処理されないでしょうから、ローカルファイルのタイムスタンプをサーバ側に反映させるには、なんらかの方法でローカルファイルのタイムスタンプをサーバに送る必要があります。 それはブラウザからローカルファイルに対してアクセスを行う必要があるということを意味するわけで…。 <input type="file">の情報はセキュリティの関係上、javascriptなどからアクセスできません。 これらの事情からしても、まともな方法でクライアント側のファイルのタイムスタンプをサーバに送る手立てはないように思えます。 | ||||
|
投稿日時: 2007-06-06 12:56
なぜアップロードされたファイルのタイムスタンプが必要なのでしょう?
その後に利用する値ならばファイルの中に書くか、zipなどでアーカイブしてからアップロードする方法が良いと思います。 | ||||
|
投稿日時: 2007-06-06 13:10
みなさま返信ありがとうございます。
意外とファイルアップロードのタイムスタンプについて参考になる情報が少なくて、 本当に助かります。 >mioさん 「日付をユーザーに入力してもらう」という回避策もありですね。 >インギさん そういうときにパケットモニターを使うと便利なんですね。勉強になります。 サーバに送る前にファイルパスからタイムスタンプを取得して、 タイムスタンプを送ろうかと考えていました。 でも、nagiseさん曰くそれも難しそうですね。 >nagiseさん 「<input type="file">の情報はセキュリティの関係上、javascriptなどからアクセスできません。」 そういう制約もあるんですね。 まともな方法ではかなり厳しいみたいですね・・・。 >Java僧さん すでにアップロードしたファイルかどうかを知るためだと思います。 [ メッセージ編集済み 編集者: ノモン 編集日時 2007-06-06 16:41 ] | ||||
|
投稿日時: 2007-06-06 13:20
それなら、ファイルのハッシュ値を計算して、保持しとく方法はいかがでしょうか? | ||||
|
投稿日時: 2007-06-06 16:49
>burton999さん
ファイルのハッシュ値ですか。 そのような方法で同一ファイルかどうかの判断ができるんですね。 検討してみます。 ありがとうございます。 |