【问题标题】:Authorization when using plupload to upload images with Breeze使用 plupload 通过 Breeze 上传图片时的授权
【发布时间】:2014-07-18 18:55:10
【问题描述】:

我在我的 Breeze/Durandal 应用程序中使用 plupload 来上传照片。

作为在给定视图模型中配置 plupload 的一部分,我将其 url 配置属性设置为指向 Web API 控制器上的操作,该控制器上装饰有 BreezeControllerAuthorize

检查浏览器开发人员工具中的网络跟踪,我发现用户的授权信息没有进入请求。这实际上是有道理的,因为 ajax 不是在微风中发生的。

关于如何正确保护此调用以上传图像的任何想法?我想访问经过身份验证的用户 ID,否则我只会让它匿名。

谢谢!

更新: 有一个 headers 选项可让您设置请求标头。当我最初浏览文档时错过了这一点。

【问题讨论】:

    标签: breeze plupload


    【解决方案1】:

    您只是想通过 Breeze 传输 AJAX 请求吗?这可以使用 Breeze.AjaxPost.js 适配器来完成。

    http://www.breezejs.com/documentation/breezeajaxpostjs

    这将类似于查询的使用,除了您会以某种方式附加有效负载 -

    var payload = JSON.stringify(payload);
    
    // Query to post your payload
        var query = breeze.EntityQuery
            .from('api/postsomething')
            .withParameters({
                $method: 'POST',
                $encoding: 'JSON',
                $data: payload
            });
    
        return manager.executeQuery(query).then(saveSucceeded).fail(saveFailed);
    }
    

    现在,这个示例正在将一些 JSON 字符串化以发布到服务器,您将如何使用图像执行此操作超出了我的范围,但希望这应该可以帮助您入门。

    事实上,我忘记了这个答案,如果你需要,它应该提供一些额外的资源 - breeze 1.4.8 & angular ajax adapter: how to customize ajax settings?

    【讨论】:

      【解决方案2】:

      有一个 headers 选项可让您设置请求标头。当我最初浏览文档时错过了这一点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-11
        • 2017-03-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多