フォーラム一覧   -   トピック一覧
   Flex Builder 2.0
     ファイル選択ダイアログが表示できない端末(PC)がある
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
nitadrix
投稿日時: 2008-4-16 15:40
一見さん
登録日: 2008-4-16
居住地:
投稿: 3
ファイル選択ダイアログが表示できない端末(PC)がある
FileReferenceを使ったファイルのアップロードで
一部の端末(PC)でアップロードダイアログが表示できませんでした
(ブラウザはIE6 or IE7)
(FlashPlayer9 マイナーバージョンは不明)

大部分の端末は問題なく開けているので
イベントの取得に関するコーディングは
問題ないと思うのですが…なんともいえません

どなたか原因として思いつくものがあったら教えてください

private var PDF_FILTER:FileFilter= new FileFilter("PDFイメージ", "*.pdf;");

private function selectUploadFile():void {
  file = new FileReference();
  file.addEventListener(Event.SELECT, selectHandler);
  file.addEventListener(Event.OPEN, openHandler);
  file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
  file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, completeHandler);
  file.addEventListener(HTTPStatusEvent.HTTP_STATUS, errorHandler);
  file.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
  file.browse([PDF_FILTER]);
}

<mx:TextInput id="uploadFilename"/>
<mx:Button id="fileSelectButton" click="{selectUploadFile()}" label="参照"/>

以上よろしくお願いします
md1961
投稿日時: 2008-4-16 15:53
お馴染みさん
登録日: 2007-2-23
居住地: 東京都下
投稿: 20
Re: ファイル選択ダイアログが表示できない端末(PC)がある
FileReference のインスタンスをローカル変数にすると
ダイアログは表示できないはずですが...。

コンポーネントのプロパティなどとして FileReference を
保持しなければならないはずです。

とりあえず、PDF_FILTER と同じようにプロパティにすると
どうでしょう。
nitadrix
投稿日時: 2008-4-16 17:09
一見さん
登録日: 2008-4-16
居住地:
投稿: 3
Re: ファイル選択ダイアログが表示できない端末(PC)がある
早速の返答ありがとうございます。

>PDF_FILTER と同じようにプロパティに・・・

こちらですが、コードの抜粋部分に抜けがありまして。。

正しくは以下のようになっています。



private var file:FileReference;
private var PDF_FILTER:FileFilter= new FileFilter("PDFイメージ", "*.pdf;");

private function selectUploadFile():void {
  file = new FileReference();
  file.addEventListener(Event.SELECT, selectHandler);
  file.addEventListener(Event.OPEN, openHandler);
  file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
  file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, completeHandler);
  file.addEventListener(HTTPStatusEvent.HTTP_STATUS, errorHandler);
  file.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
  file.browse([PDF_FILTER]);
}


自分の環境では特に難なく実行出来ていたのに加え、
動作する端末、しない端末が存在するということで、
セキュリティ等の問題が関わっているのかなとも考えています。

何か良案があればご教授下さいませ。
Pepe
投稿日時: 2008-5-8 9:43
モデレータ
登録日: 2006-1-10
居住地: 千葉県市川市南部(浦安との境)
投稿: 1206
Re: ファイル選択ダイアログが表示できない端末(PC)がある
ダイアログが表示されない端末があるんですか
興味深いですねぇ (-_-;)

ただ、APIには特に制限事項が書かれていないので
http://livedocs.adobe.com/flex/3/langref/flash/net/FileReference.html#browse()

ひょっとして通常のHTMLページにおける
input type="file" によるファイル選択ダイアログも
開けなかったりしませんかね (・・?


----------------
ブログ http://shigeru-nakagaki.com/
テクニカルサポートや受託開発など、お仕事は随時募集中
Twitter http://twitter.com/ShigeruNakagaki

nitadrix
投稿日時: 2008-5-21 13:11
一見さん
登録日: 2008-4-16
居住地:
投稿: 3
Re: ファイル選択ダイアログが表示できない端末(PC)がある
どうも、お世話になっています。

本件、調査を進めたところ、以下の環境が該当することが分かりました。
「Win98 + IE6.0 + Flash Player 9」

さらに以下のバグ報告も発見しました。
http://bugs.adobe.com/jira/browse/FP-56

マイナーバージョンを変更すると動作するみたいですが。。。

同じ環境が手元にないので再現しておりませんが、バグっぽいので、現在Adobeに問い合わせ中です。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を