我在Breeze / Durandal应用程序中使用plupload来上传照片。
作为在给定视图模型中配置plupload的一部分,我将其url
配置属性设置为指向使用BreezeController
和Authorize
修饰的Web API控制器上的操作。 / p>
在浏览器开发者工具中检查网络跟踪,我发现用户的授权信息不会进入请求。这实际上是有道理的,因为ajax并不是在微风中发生的。
有关如何正确保护此来电以上传图片的任何想法?我想访问经过身份验证的用户ID,否则我会让它匿名。
谢谢!
更新:有一个标题选项,可让您设置请求标头。在我最初阅读文档时错过了这一点。
答案 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)
有一个标题选项,允许您设置请求标头。在我最初阅读文档时错过了这一点。