使用plupload通过Breeze上传图像时的授权

时间:2014-07-18 18:55:10

标签: breeze plupload

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

作为在给定视图模型中配置plupload的一部分,我将其url配置属性设置为指向使用BreezeControllerAuthorize修饰的Web API控制器上的操作。 / p>

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

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

谢谢!

更新:有一个标题选项,可让您设置请求标头。在我最初阅读文档时错过了这一点。

2 个答案:

答案 0 :(得分: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?

答案 1 :(得分:0)

有一个标题选项,允许您设置请求标头。在我最初阅读文档时错过了这一点。