Загрузка успешно в IE / Firefox / Safari, но не в Chrome - PullRequest
1 голос
/ 29 февраля 2012

Я реализовал Uploadify ниже. Загруженные файлы будут в конечном итоге сохранены в базе данных, но на данный момент я просто проверяю, что Uploadify может получить доступ к сервису. Это удается в IE, Firefox и Safari, но не в Chrome, когда я или кто-то еще в моем домене обращаются к моему веб-серверу со скоростью http://machine_name.my_domain.com/SiteName/

У меня включена проверка подлинности Windows в диспетчере IIS и предоставлены права пользователей тестирования.

Однако в разработке IIS Express все браузеры работают нормально.

<input id="inputUploadify" type="file" name="inputUploadify" />

$("#inputUploadify").uploadify({
    "buttonImg": "uploadify/customSelect.png",
    "rollover": true,
    "width": 156,
    "height": 40,
    "uploader": "uploadify/uploadify.swf",
    "expressInstall": "uploadify/expressInstall.swf",
    "script": "Services/Uploadify.ashx",
    "cancelImg": "uploadify/cancel.png",
    "scriptData": { "photoGalleryId": "<%=_photoGalleryId %>" },
    "auto": false,
    "multi": true,
    "fileDesc": "Image files (*.jpg, *.jpeg, *.png)",
    "fileExt": "*.jpg;*.jpeg;*.png;",
    "sizeLimit": 1048576, //1 MB limit
    "removeCompleted": false,
    "fileDataName": "fileData",
    "onAllComplete": function (event, data) {
        if (data.errors == 0) {
            alert("Your images have been uploaded.");
        }
        else {
            alert("There was an error uploading images.");
        }
    },
    "onError": function (event, ID, fileObj, errorObj) {
        alert("type " + errorObj.type + " " + errorObj.info);
    },
    "onSelect": function (event, ID, fileObj) {
        if (fileObj.size > 1048576) { // 1MB
            alert("file '" + fileObj.name + " is too large.");
            $(this).uploadifyCancel(ID);
            return false;
        }
    }
});

Это основной обработчик.

public class Uploadify : IHttpHandler
{
    public void ProcessRequest(HttpContext context) {
        HttpPostedFile file = context.Request.Files["fileData"];
        int photoGalleryId = int.Parse(context.Request["photoGalleryId"]);
        context.Response.ContentType = "text/plain";
        context.Response.Write("success");
    }

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

Fiddler показывает это как ошибку 401

Ошибка HTTP 401.2 - Несанкционировано

Вы не авторизованы для просмотра этой страницы из-за неверной аутентификации Заголовки.

Это заголовок от Firefox

Firefox Header

IE9

IE Header

и заголовок Chrome

Chrome Header




Обратите внимание, что в заголовке Chrome ничего нет в разделе «Cookies / Логин»


...