Я реализовал 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
IE9
и заголовок Chrome
Обратите внимание, что в заголовке Chrome ничего нет в разделе «Cookies / Логин»