2011-01-22 12 views
0

HTMLファイルコントロールを使用してファイルをアップロードしますが、選択ダイアログは表示されません。 :\ finsts \ finstmt.xml "となります。ファイル選択ダイアログなしでHTML <html type = "file" id = "uploadfile">コントロールを使用してファイルをアップロードする

シナリオ1:
HTMLコントロールを使用してファイルをアップロードしようとしました。ブラウズボタンをクリックしてクリックすると、ファイル選択ダイアログボックスからファイルを選択する必要があります。できます。そのサーバーへのアップロードファイルは正常です。サーバー側のコードが正しく、正常に動作します。

シナリオ2:
しかし、私はHTMLコードを次のように、ファイル選択コントロールを非表示にする場合:ファイルパスが固定されていると私は、ユーザーの選択ファイルにしたくない

<div name="filediv" style="display:none"> 
    <html type="file" id="uploadfile" value="c:\finsts\finstmt.xml"> 
</div> 

通り。このシナリオで試してみると、最初はうまくいきましたが動作しません。私はファイルコントロールの仕組みを理解していません。

ここで誰もが2番目のシナリオを実行するための回避策を知っていますか?

ありがとうございました。

+2

あなたはたぶん '

+0

このような機能を悪用する可能性は巨大です。 –

答えて

2

まず、<html type="file"はまったくありません。
セキュリティ制限のために第2に、これはできません。
ブラウザを使用してユーザーのコンピュータ上の任意のファイルにアクセスすることはできません。

5

セキュリティ上の理由から、これは不可能です。回避策はありません。

以前はFlashベースのアップローダを使用することが可能でしたが、Flashでも同じ理由で明示的なユーザーファイルの選択が必要です。

JavaアプレットまたはInternet Explorerでのみ動作する独自のVBScriptを使用する可能性があります(また、サイトが信頼ゾーンに存在する必要があります)が、複雑になる可能性があります。

0

最高の選択肢は、希望するファイル名をファイルチューザの上にテキストで置き、ファイルボックスにカットアンドペーストするように指示することです。ユーザーがコピーバッファを塗りつぶしてペーストするだけで済むような小さなjsツールを手に入れることさえ可能かもしれません。

注:javascriptが「コピー/貼り付け」のトリックを使用してファイルアップロードボックスに直接入力することを提案していません。私はUIを提案しています。ユーザーがブラウザにセキュリティ要件を満たすためには、最小限の労力でボックスにデータを入れることが唯一の方法です。

+1

面白いアイデアだが、これはGoogle ChromeとFirefoxではもう不可能だと思われる。彼らはどんな場合でも選択ダイアログを開こうとします –

+0

これはうまくいきません... – Josh