У меня проблемы с конфигурацией uploadify (v.2.1.4) и моим проектом MVC 3. Вот код, который возвращает код HTTP 302.
@{string auth = @Request.Cookies[FormsAuthentication.FormsCookieName] == null ? string.Empty : Request.Cookies[FormsAuthentication.FormsCookieName].Value;}
$("#fileuploader").uploadify({
uploader: '@Url.Content("~/Scripts/uploadify.swf")',
script: '@Url.Action("Upload", "Control")',
scriptData: { token: "@auth" },
fileDataName: 'file',
buttonText: 'Upload file',
multi: false,
sizeLimit: 22222222222,
simUploadLimit: 1,
cancelImg: '@Url.Content("~/Images/uploadify-cancel.png")',
auto: true,
onError: function(event, queueID, fileObj, errorObj) {
alert("Error!!! Type: [" + errorObj.type + "] Info [" + errorObj.info + "]");
},
onComplete: function (event, queueId, fileObj, response, data) {
alert(response);
}
});
public class ControlController : Controller
{
[HttpPost]
public ActionResult Upload(string token, HttpPostedFileBase file)
{
if (file != null && file.ContentLength > 0)
{
var appData = Server.MapPath("~/app_data");
var filename = Path.Combine(appData, Path.GetFileName(file.FileName));
file.SaveAs(filename);
}
return Json(true);
}
}
1) Действие контроллера не запускается
2) Я нашел эту тему Получение Uploadify для работы с asp.net-mvc , но если я использую этот атрибут для моего контроллера, я вижу, что "AuthenticationToken
" равно нулю (я вошел в систему)
3) Если я установлю опцию загрузки method
на post
, я получу #2032 error
EDIT
Контроллер является контроллером Admininistration, поэтому я использую этот атрибут для него:
protected override bool AuthorizeCore(HttpContextBase httpContext) {
if (!HttpContext.Current.User.Identity.IsAuthenticated)
return false;
if (admin && !um.IsAdmin(HttpContext.Current.User.Identity.Name))
return false;
return true;
}
, который возвращает истину. Я заметил, что если я удалю этот атрибут, загрузка начнет работать. Но мне нужен этот атрибут