- PR -

fileアップロードについて

投稿者投稿内容
まめ大福初心者
会議室デビュー日: 2006/05/19
投稿数: 9
投稿日時: 2006-05-19 11:23
はじめまして
javaを初めて1ヶ月、本だけが頼りの超初心者です。よろしくお願いします

strutsを利用してファイルのアップロードを行いたいのですが
選択できるファイルを限定できず困っています
「*.tiff *.gif *.jpeg *.jpg」のみを選択肢に入れたいのですが
acceptをどのように設定すればよいか分かりません
<html:form action="/aa" method="POST" enctype="multipart/form-data">
<html:file accept="tiff,gif,jpeg,jpg" property="url_file" size="60"/>
このようにすると
「すべてのファイル(*.*)」
「画像(*.gif,*.jpg)」
「HTML(*.htm,*.html)」
となってしまいます
上記の4つのみを選択可能とする事はできないでしょうか?
よろしくご教授お願いいたします
ハツキタツミ
大ベテラン
会議室デビュー日: 2005/05/24
投稿数: 108
投稿日時: 2006-05-19 11:44
まず、Strutsは関係ないって事は認識されてますか?

以下、この前提で考えると、このaccept属性ってのが、ブラウザ依存だと思うのですが。
おそらく、”全てのファイル”を選択できないようにしたいのでしょうが、ブラウザ側の問題ですから、どうしようもないってことで。
まめ大福初心者
会議室デビュー日: 2006/05/19
投稿数: 9
投稿日時: 2006-05-19 11:46
スレ主です

その後MIMEタイプについて調べ
<html:file accept="image/x-tiff,image/gif,image/jpeg" property="url_file" size="60"/>
としたり、試しに一つだけ
<html:file accept="image/jpeg" property="url_file" size="60"/>

と変更してみたんですが結果同じでした
根本的にacceptに設定するという時点で間違ってるのでしょうか?

ネットでも本でも見つからずお手上げ状態なので
引き続きどうぞよろしくお願いします
まめ大福初心者
会議室デビュー日: 2006/05/19
投稿数: 9
投稿日時: 2006-05-19 12:00
ハツキタツミ様
早速のご返答ありがとうございます

>まず、Strutsは関係ないって事は認識されてますか?
  すみません。いまいち認識していません
  Strutsやらjavaやらjspやら理解していない状況です
  しかし決められた期限で作り上げないといけないので
  サンプルを駆使している状況です
  無謀なのは重々承知です。すみません

ブラウザ側の問題と言うことは、こちらでは何も設定できないと言う事ですか?
人によって見え方が異なると言う事?
それでは”全てのファイル”が消えないのは諦めるとして
tiffも選択肢に入れるにはどのようにすれば良いのでしょうか?
HTMLが出てしまうのも仕方ないのでしょうか?
よろしくお願いいたします
スフレ
ぬし
会議室デビュー日: 2005/05/27
投稿数: 281
お住まい・勤務地: 東京
投稿日時: 2006-05-19 12:10
HTMLの <input type="file"> で種類を指定する手段は確かに accept= しかありません。が、IEもFirefoxもaccept=を指定してもファイル選択において挙動は何も変わらないようです。

なので、まめ大福初心者さんの要求を満たすことは不可能と思われます。
まめ大福初心者
会議室デビュー日: 2006/05/19
投稿数: 9
投稿日時: 2006-05-19 12:18
スフレ様
ご返答ありがとうございます

そうなんですか・・・不可能なんですか
分かりました。それでは仕方ないので諦めます

ありがとうございました
syu
常連さん
会議室デビュー日: 2003/05/15
投稿数: 43
投稿日時: 2006-05-19 13:05
その方法では不可能だけど、JavaScript使って
選択されたファイルの拡張子を見てはどうでしょう?
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-05-19 13:59
引用:

syuさんの書き込み (2006-05-19 13:05) より:
その方法では不可能だけど、JavaScript使って
選択されたファイルの拡張子を見てはどうでしょう?



<input type="file">のフィールドに関してはセキュリティに関する制約で
JavaScriptでアクセスすることは出来なかったと記憶していますが、
なにか方法があるのでしょうか?
パスは読めなくてもファイル名は読める?

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