首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SWFUpload认证

SWFUpload认证
EN

Stack Overflow用户
提问于 2010-01-16 16:13:00
回答 3查看 3.6K关注 0票数 2

我正在使用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/

下面的控制器操作会被触发,但正如上面提到的,用户对象不会被传递。

任何帮助都是非常感谢的!

视图

HTML

代码语言:javascript
复制
            <form enctype="multipart/form-data" method="post" action="/Media/Upload/Photo">
                <input type="file" id="userPhoto_Photo" name="userPhoto_Photo" />
            </form>

Javascript

代码语言: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

        });
    });   

控制器动作

代码语言:javascript
复制
    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Upload()
    {
        if (Request.Files.Count == 1)
        {
            //Upload work
        }
        return RedirectToAction("Index", "Profile");
    }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-13 06:16:03

这很容易通过传递post参数来解决,post参数是swfUpload API的一部分。然后,传递用户名或用户id将在操作中使用窗体身份验证手动进行身份验证。

票数 2
EN

Stack Overflow用户

发布于 2010-04-09 18:00:37

您还应该查看这篇文章:http://trycatchfail.com/blog/post/2009/05/13/Using-Flash-with-ASPNET-MVC-and-Authentication.aspx

它完美地解释了你需要做什么来保证你的应用程序的安全,并且仍然使用像Uploadify或swfupload这样的Flash上传插件。

票数 2
EN

Stack Overflow用户

发布于 2010-01-16 16:59:56

我相信这是因为flash在发出请求时不会持久化浏览器会话。您必须以某种方式显式地传递一些有关用户会话的信息。

你可以这样做的一种方法就是设置一个曲奇。让JavaScript读取cookie并将其传递给flash。然后让flash在上传时把它发送出去。这样,您就不会使用flash vars传递cookie值。

您使用的是windows集成服务吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2078011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档