7

現在、独自のコントロールにラップされた System.Web.UI.WebControls.FileUpload を使用しています。

Telerik のライセンスがあります。誰かがそれを経験したことがあるか、それともより良いものを提案できるか知りたいですか?

によって測定されるいくつかの基準

  • 検証
  • パフォーマンス
  • 複数のファイル
  • ローカライズ(ブラウズは難しい)
  • 安全
4

6 に答える 6

3

個人的には、Telerik コントロールをお持ちの場合は、試してみたいと思います。それらは非常に便利で、ユーザー エクスペリエンスも優れていることがわかりました。彼らのアップロード制御は非常に優れています。

于 2008-10-31T14:16:55.673 に答える
2

これについては別の質問に投稿したばかりですが、この ActiveX コントロールを使用すると、画像を迅速かつ効率的に処理できます。コンポーネントは、送信前にクライアント マシン上の画像のサイズを実際に変更します。これにより、不要な帯域幅が削減され、一度に複数の画像が転送されます。

于 2008-10-31T20:30:39.040 に答える
1

DeanBrettleのNeatUploadをチェックしてください。これは基本的に、追加の構成可能性を備えたファイルをディスクにストリーミングするカスタムHttpHandlerです。それはオープンソースであり、ディーンは彼のユーザーをサポートするための絶対的なスターです。

于 2009-02-23T22:56:40.643 に答える
1

これをチェックしてください:

Html-5-アップローダー

Webページに複数のファイルをドラッグアンドドロップします。

リンクは常に機能するとは限らないので、ここに再びあります:http ://www.igloolab.com/jquery-html5-uploader/

コントローラー:(元のコードから変更しました。何かを忘れないように願っていますが、かなり明確です)

     <HttpPost()> _
     Public Function Upload(uploadedFile As System.Web.HttpPostedFileBase) As ActionResult
        If uploadedFile IsNot Nothing Then 
            If uploadedFile.ContentLength > 0 Then

               Dim mimeType As String = Nothing 
                'Upload
                Dim PathFileName As String =   System.IO.Path.GetFileName(uploadedFile.FileName)

                 Dim path =  System.IO.Path.Combine(Server.MapPath("~/App_Data/Uploads"), PathFileName)

                If Not System.IO.Directory.Exists(Path) Then
                    System.IO.Directory.CreateDirectory(Path)
                End If

                Dim firstLoop As Boolean = True
                uploadedFile.SaveAs(path)                  
             Next
        End If
        Return Nothing
    End Function

これはビューです(cssとjsへのリンクを忘れないでください;))

     <h1>
            @SharedStrings.Upload</h1>
        <h2>
            @SharedStrings.UploadInformation</h2>
        <div id="dropbox">
        </div>
        <div id="upload">
        </div>
        <script type="text/javascript">

            $(function () {

                var fileTemplate = "<div id=\"{{id}}\">"; fileTemplate += "<div class=\"progressbar\"></div>"; fileTemplate += "<div class=\"preview\"></div>"; fileTemplate += "<div class=\"filename\">{{filename}}</div>"; fileTemplate += "</div>"; function slugify(text) { text = text.replace(/[^-a-zA-Z0-9,&\s]+/ig, ''); text = text.replace(/-/gi, "_"); text = text.replace(/\s/gi, "-"); return text; }
                $("#dropbox").html5Uploader({ onClientLoadStart: function (e, file) {
                    var upload = $("#upload"); if (upload.is(":hidden")) { upload.show(); }
                    upload.append(fileTemplate.replace(/{{id}}/g, slugify(file.name)).replace(/{{filename}}/g, file.name));
                }, onClientLoad: function (e, file) { /*$("#" + slugify(file.name)).find(".preview").append("<img src=\"" + e.target.result + "\" alt=\"\">");*/ }, onServerLoadStart: function (e, file) { $("#" + slugify(file.name)).find(".progressbar").progressbar({ value: 0 }); }, onServerProgress: function (e, file) { if (e.lengthComputable) { var percentComplete = (e.loaded / e.total) * 100; $("#" + slugify(file.name)).find(".progressbar").progressbar({ value: percentComplete }); } }, onServerLoad: function (e, file) { $("#" + slugify(file.name)).find(".progressbar").progressbar({ value: 100 }); } 
                }); 
            });
        </script>

そして私のCSS

 /*html 5 uploader*/
#dropbox 
{
/*picture where people would drag-drop their files to*/
 background-image:url(../Images/UploadToMedia.png);
 height:128px;
 margin-bottom:40px;
 margin-left:auto;
 margin-right:auto;
 background-repeat:no-repeat;
 margin-top:0;
 width:128px;
}
于 2011-11-09T10:10:24.170 に答える
1

FileUploadControl を拡張して、検証を追加しました。また、複数のファイルを一度にアップロードできる独自のコントロールも作成しました。現在、両方を評価中です。2 つの異なるアップロード コントロールを維持する必要はありません。

于 2008-10-31T14:31:21.870 に答える
0

独自のファイル アップロード コントロールの一部として、テキスト、テキスト ボックス、ボタンなどを表示できるフラッシュ ベースのソリューションを試すことができます。これらのソリューションは通常、JavaScript が Flash のファイル アップロード ボックスを動的に呼び出すことができるように、JavaScript と Flash の間のブリッジとして機能する 1x1 の Flash ムービーをページに配置します。

最近のプロジェクトでは、FancyUploadを使用してまさにそれを行いました。

于 2008-10-31T14:22:21.967 に答える