C# 使用asp.net通用处理程序上载图像

C# 使用asp.net通用处理程序上载图像,c#,jquery,asp.net,jquery-ui,generic-handler,C#,Jquery,Asp.net,Jquery Ui,Generic Handler,我正在尝试使用以下代码上载多个文件 HTML&JQuery <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="FileUpload.WebForm1" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">

我正在尝试使用以下代码上载多个文件

HTML&JQuery

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="FileUpload.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

    <script src="Scripts/jquery-1.8.2.min.js"></script>
    <script src="Scripts/jquery-ui-1.8.24.min.js"></script>
    <link href="Content/themes/base/jquery.ui.all.css" rel="stylesheet" />
</head>
<body>
    <form id="form1" runat="server">
        <asp:FileUpload ID="FileUpload1" runat="server" AllowMultiple="true" />
        <br />
        <br />
        <asp:Button ID="Button1" runat="server" Text="Upload Selected File(s)" />
        <div id="progressbar"></div>
    </form>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#progressbar").progressbar({ value: 0 });
            $("#Button1").click(function (evt) {

                var fileUpload = $("#FileUpload1").get(0);
                var files = fileUpload.files;

                var data = new FormData();
                for (var i = 0; i < files.length; i++) {
                    data.append(files[i].name, files[i]);
                }

                var options = {};
                options.url = "Upload.ashx";
                options.type = "POST";
                options.data = data;
                options.asyn = true;
                options.contentType = false;
                options.processData = false;
                options.dataType = "application/json; charset=utf-8";
                options.success = function (data) {
                    var length = data.length;
                    for (var i = 0; i < length; i++) {
                        updateProgress();
                    }

                    $("#progressbar").progressbar("value", 100);
                };
                options.error = function (err) { alert(err.statusText); };

                $.ajax(options);

                evt.preventDefault();
            });
        });

        function updateProgress() {
            var value = $("#progressbar").progressbar("option", "value");
            if (value < 100) {
                $("#progressbar").progressbar("value", value + 1);
            }
        }
    </script>
</body>
</html>



$(文档).ready(函数(){ $(“#progressbar”).progressbar({value:0}); $(“#按钮1”)。单击(函数(evt){ var fileUpload=$(“#FileUpload1”).get(0); var files=fileUpload.files; var data=new FormData(); 对于(var i=0;i
C#Handler

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace FileUpload
{
    /// <summary>
    /// Summary description for Upload
    /// </summary>
    public class Upload : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            if (context.Request.Files.Count > 0)
            {
                HttpFileCollection files = context.Request.Files;
                for (int i = 0; i < files.Count; i++)
                {
                    HttpPostedFile file = files[i];
                    string fname = context.Server.MapPath("~/Upload/" + file.FileName);
                    file.SaveAs(fname);
                }
            }
            context.Response.ContentType = "text/plain";
            context.Response.Write("File(s) Uploaded Successfully!");
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
命名空间文件上载
{
/// 
///上载的摘要说明
/// 
公共类上载:IHttpHandler
{
公共void ProcessRequest(HttpContext上下文)
{
如果(context.Request.Files.Count>0)
{
HttpFileCollection files=context.Request.files;
对于(int i=0;i
我有一个jqueryui进度条,它根据完成的百分比进行更新。我可以上传一个文件。但当我选择多个文件进行上传时,会出现一个内部服务器错误。在这两种情况下(上载一个文件或多个文件),进度条都不起作用

有人能看看我的代码有什么问题吗

谢谢

更新


我整理了多个文件的问题。但仍然无法更新进度条。

请提供有关错误的详细信息?@Arturudo刚刚找到原因。。。超出了最大请求长度。我的坏消息是我最初没有调试。。。。它分类了。。。但jquery进度条仍然不起作用。。。