Helpex - Trao đổi & giúp đỡ Đăng nhập
7

Hiện đang sử dụng System.Web.UI.WebControls.FileUpload được bao bọc trong sự kiểm soát của riêng chúng tôi.

Chúng tôi có giấy phép cho Telerik. Tôi muốn biết nếu có ai có kinh nghiệm với điều đó hoặc có thể đề xuất một cái tốt hơn?

Một số tiêu chí được đo lường bởi

  • Thẩm định
  • hiệu quả
  • nhiều tệp
  • bản địa hóa ( duyệt rất khó)
  • Bảo vệ
7 hữu ích 0 bình luận 6.2k xem chia sẻ
3

Cá nhân tôi, nếu bạn có các điều khiển Telerik, tôi sẽ cho họ một lần thử nghiệm. Tôi thấy rằng chúng rất hữu ích và trải nghiệm người dùng tốt. Kiểm soát tải lên của họ khá tốt.

3 hữu ích 0 bình luận chia sẻ
2

Tôi vừa đăng về điều này trong một câu hỏi khác , nhưng nếu bạn sử dụng điều khiển ActiveX này, bạn sẽ có thể xử lý hình ảnh nhanh chóng và hiệu quả. Thành phần sẽ thực sự thay đổi kích thước hình ảnh trên máy khách trước khi gửi chúng. Điều này làm giảm băng thông không cần thiết và truyền nhiều hình ảnh cùng một lúc.

2 hữu ích 0 bình luận chia sẻ
1

Chúng tôi đã mở rộng FileUploadControl để thêm một số xác thực. Chúng tôi cũng đã viết kiểm soát của riêng mình cho phép nhiều tệp được tải lên cùng một lúc. Chúng tôi hiện đang đánh giá cả hai. Hy vọng rằng chúng tôi quyết định một, tôi không muốn có 2 kiểm soát tải lên khác nhau để duy trì.

1 hữu ích 0 bình luận chia sẻ
1

Kiểm tra NeatUpload của Dean Brettle . Về cơ bản nó là một HttpHandler tùy chỉnh truyền các tệp vào đĩa với vô số khả năng cấu hình bổ sung. Nó là mã nguồn mở và Dean là một ngôi sao tuyệt đối trong việc hỗ trợ người dùng của mình.

1 hữu ích 0 bình luận chia sẻ
1

Kiểm tra cái này:

Html-5-Uploader

Kéo và thả nhiều tệp trên trang web của bạn!

Liên kết không phải lúc nào cũng hoạt động nên nó lại ở đây: http://www.igloolab.com/jquery-html5-uploader/

.

Bộ điều khiển: (được sửa đổi từ mã gốc của tôi, hy vọng tôi không quên điều gì đó, nhưng nó khá rõ ràng)

     <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

Đây là Chế độ xem (đừng quên liên kết đến css và 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>

Và css của tôi

 /*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;
}
1 hữu ích 0 bình luận chia sẻ
0

Bạn có thể thử giải pháp dựa trên flash cho phép bạn hiển thị bất kỳ văn bản, hộp văn bản, nút hoặc bất kỳ thứ gì khác như một phần của kiểm soát tải lên tệp của riêng bạn. Các giải pháp này thường đặt một đoạn phim flash 1x1 trên trang hoạt động như một cầu nối giữa javascript và flash để javascript có thể gọi động hộp tải lên tệp của flash.

Trong một dự án gần đây, tôi đã sử dụng FancyUpload để thực hiện chính xác điều đó.

0 hữu ích 1 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ c# asp.net mvc file-upload web-controls , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading