我正在使用 SWFUpload 在 ASP.NET MVC 1.0 网站中进行文件上传。它工作正常,但我无法验证上传方法。 HttpContext.User.Identity.Name 返回一个空字符串。我假设这是因为 Flash 电影正在制作该帖子。我还使用此处提供的包装器:http://blog.codeville.net/2008/11/24/jquery-ajax-uploader-plugin-with-progress-bar/ .
下面的 Controller 操作被触发,但如上所述,用户对象未被传递。
感谢任何帮助!
查看
HTML
<form enctype="multipart/form-data" method="post" action="/Media/Upload/Photo">
<input type="file" id="userPhoto_Photo" name="userPhoto_Photo" />
</form>
Javascript
$(function() {
$("#userPhoto").makeAsyncUploader({
upload_url: '/Media/Upload',
flash_url: '<%= Url.Content("~/Content/Flash/swfUpload-2.2.0.1.swf") %>',
file_size_limit: '1 MB',
file_types: '*.jpg; *.png; *.gif',
button_action: SWFUpload.BUTTON_ACTION.SELECT_FILE,
button_width: 210,
button_height: 35,
button_image_url: '<%= Url.Content("~/Content/Images/UploadPhoto.png") %>',
button_text: '',
button_cursor: SWFUpload.CURSOR.HAND,
button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT
});
});
Controller 操作
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Upload()
{
if (Request.Files.Count == 1)
{
//Upload work
}
return RedirectToAction("Index", "Profile");
}
最佳答案
通过传递 post 参数可以轻松解决此问题,该参数是 swfUpload API 的一部分。然后使用表单例份验证手动对操作中传递的用户名或用户 ID 进行身份验证。
关于asp.net-mvc - SWF上传验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2078011/