Проблема с загрузкой файлов с использованием jquery на ie и chrome - PullRequest
0 голосов
/ 21 апреля 2011

У меня есть этот простой скрипт

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:Button ID="btnUploadFile" runat="server" Text="Button" />
    <input id="File1" type="file" />
</asp:Content>

$(document).ready(function ()
{
    $('#file_upload').fileUpload({
        url: 'UploadHandler.ashx',
        method: 'POST'
        // autoUpload: false,
//        onLoadAll: function (list)
//        {
//            __doPostBack('MainContent_UpdatePanel1', '');
//        },

    });

    $('#File1').css({ 'position': 'absolute', 'z-index': '-100' }); //hack for chrome, in fx enough is jquery hide()

    $('#MainContent_btnUploadFile').click(function ()
    {
        $('#File1').click();
        return false;
    });
});

и обработчик http

 public class UploadHandler : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            HttpPostedFile uploadedfile = context.Request.Files[0];
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }

Когда я запускаю этот код, в Firefox все в порядке.В обработчике http есть мой загруженный файл.Но в Chrome у меня есть исключение, потому что Request.Files не имеет файла.В Internet Explorer после выбранного файла все кончено.Он никогда не попадает в обработчик.Почему, черт возьми, в разных браузерах так много разных результатов?Плагин загрузки jquery находится здесь http://aquantum -demo.appspot.com / file-upload Что я могу с ним сделать?Пример со страницы плагина для asp.net работает нормально на Chrome.Я думаю, что написал так же, как в этом примере, но это не работает.

1 Ответ

0 голосов
/ 21 апреля 2011

По моему опыту, некоторые браузеры отправляют файл в context.Request.Files("<filename>").InputStream
Другие будут использовать context.Request.InputStream

Я использую http://valums.com/ajax-upload/ в качестве элемента управления загрузкой

...