2008-08-15 21 views
5

は基本的には、これよりももっと良いもの:Webフォームを使用したHTTP POST経由でファイルをアップロードする最も良い方法は何ですか?

<input type="file" name="myfile" size="50"> 

まず第一に、browseボタンは、すべてのブラウザに違って見えます。フォーム上のsubmitボタンとは異なり、スタイルを設定するには、hack-yの方法が必要です。

第2に、アップロードされたファイルの量を示す進捗インジケータはありません。通常、複数のサブミットを無効にするには、何らかのクライアント側の方法を実装する必要があります(たとえば、送信ボタンを「フォーム送信中...しばらくお待ちください」と表示されている無効なボタンに変更してください)。

FlashまたはJavaを使用しないこれに対する良い解決策はありますか?

Yaakov:その製品は私が探しているものと正確に見えますが、コストは1000ドルであり、具体的にはASP.NET.です。同じまたは類似の機能をカバーするオープンソースプロジェクトはありますか?

答えて

9

ファイルアップロードボックスは、Flash、Java、またはActiveXなどの他の技術を使用したくない場合に現在使用しています。

プレーンなHTMLでは、あなたが説明した経験(進捗バーや二重提出などなし)に限ります。いくつかのJavaScriptを使用したい場合は、アップロードが進行中であり、さらにshowing the upload progressというフィードバックを与えることで問題のいくつかを解決することができます(これはサーバーへの完全な往復をする必要がないため、しかし、少なくともそれは動作します)。

Flashを使用したい場合(どこでも、多くのプラットフォームで利用できます)、これらの問題のほとんどすべてを克服できます。急速なグーグル化は、twosuchのコンポーネントを公開しました。両方とも無料ですオープンソース私は決してそれらのどれも使用しなかったが、彼らはよく見える。ところで、Flashには問題がないわけではありません。たとえば、マルチファイルアップローダをスライドシェアに使用している場合、ブラウザは常に次のようにクラッシュしていました:-(

おそらく最も良い解決策は、フラッシュ、そしてそれはケースだ場合、まだ基本的なHTMLいずれかを選択することが可能となる一方で、彼女にアップローダーのフラッシュ版を与える。

HTH

0

ファイルのアップロード制御が間違いなく遅いのは事実です。うまくいけば、これは将来asp.netのバージョンで対処されます。

お金がかかりますが、Telerik upload controlには、スタイリングや進行状況の更新(大きなアップロードの場合はメモリを最適化します)など、探しているすべての機能が備わっています。

1

はあなたがFancy Uploadスクリプトを見ている可能性があります。けれどもそれはまだそれが素晴らしいように見えるフラッシュを使用します。

1

ここでの問題は、bローラーは、基本的なファイルアップロード入力コントロールを変更するものをブロックするために特に機能します。あなたは、例えばjavascriptでそれを変更することはできません。

理由はセキュリティです。私がスクリプトを作成できれば、訪問したときにハードディスクからさまざまなファイルを送ったページを作成できます。よくない。

現時点ではさまざまな回避策がありますが、IEとFX(Safari、Operaなどについてはわかりません)ではさまざまです。

電子メールに何かを添付すると、http://www.gmail.comはIEとFXで何を見ますか?

私はゴミが「参照」ボタンを見たいと思っています - それは私が予期せぬことを起こさないと伝えます。

関連する問題