input type=fileの初期値設定 – プログラミング – Home

通知
すべてクリア

input type=fileの初期値設定


ちょこまん
 ちょこまん
(@ちょこまん)
ゲスト
結合: 15年前
投稿: 2
Topic starter  

はじめまして。質問させてください。

htmlで次のようなファイル指定のコントロールに初期値を設定すること
はできないのでしょうか。

<input type=file value=" name=fileName>

IE6環境でかまいません。

ActiveXで、色々試してみましたが、エラーではじかれてしまいます。
ちなみに、<input type=text・・・>ではもちろんできます。

MSHTML::IHTMLDocument3Ptr pDocument( pBrowser->Document );
MSHTML::IHTMLElementCollectionPtr pCollection;

// 検索文字列を設定
pCollection = pDocument->getElementsByName( _bstr_t( LfileName ) );
MSHTML::IHTMLInputTextElementPtr pText( pCollection->item() );

①文字列を貼り付け
pText->value = _bstr_t( LC:\\ );

②コントロールの貼り付け

pText->select();
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event('V', 0, 0, 0);
keybd_event('V', 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);

アイデアでもいいですし、対応案ありましたら、
よろしくお願いします。


引用解決済
トピックタグ
wclrp ( 'o')
 wclrp ( 'o')
(@wclrp ( 'o'))
ゲスト
結合: 18年前
投稿: 287
 

JavaScriptでinput type=fileに値を設定することはセキュリティ問題で出来無いって
話は有名だね。安全のためユーザーにファイル名を入れさせる。
C言語などでMSHTMLからも出来ないっていう話は確認したことないけど。

キーイベント発生させてユーザーが入力したふりさせるとか。
それで出来てしまったら、それはそれで問題な気もするけど。


返信引用
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

情報共有
http://ap.atmarkit.co.jp/bbs/core/fdotnet/17734

俺ならユーザーに ActiveX を入れさせてまでする必要があることとは思わない。
・単に技術的に可能不可能を論じるだけなら可能であること、と
・すべきこと、と
・セキュリティ的ユーザー教育的にしてはならないこと、と
その辺の意識解決あって後の話だな。
俺なら「仮に技術的には可能であっても、やらない」だろう。


返信引用
ちょこまん
 ちょこまん
(@ちょこまん)
ゲスト
結合: 15年前
投稿: 2
Topic starter  

やはり技術的に無理なんですかね。。
セキュリティ的に問題があるのは重々承知です。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

逆に問題があるから出来ないようにブロックしていると言うことなのでは?
御自身でも言われている通り、簡単にできるようならセキュリティ的に問題が
あることは明白ですよね。

トリッキーな方法であれ、出来るのであればセキュティホールと言われそうな気がします。


返信引用
subaru
 subaru
(@subaru)
ゲスト
結合: 19年前
投稿: 381
 

ローカルのヘルプ見たら設定/取得可能でスクリプトからは不可のように
書かれてましたが、オンラインで確認すると・・・
http://msdn.microsoft.com/ja-jp/library/aa703798(en-us,VS.85).aspx

やっぱり読み取り専用でした。

ちなみにセキュリティの問題を承知の上でそんなことをしたい理由は何なんでしょう?
HTTPでのアップロードが目的なら
Msxml2.XMLHTTP について調べてみるといいかもしれません。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました