【发布时间】:2014-11-26 14:37:36
【问题描述】:
作为介绍,我在通过 REST 用 ember.js 编写的服务堆栈和应用程序之间的通信存在问题,我正在使用 ember-uploader 组件将文件上传到服务堆栈。
查看hbs:
<table class="table table-bordered table-hover">
{{file-upload}}
</table>
咖啡脚本中的组件
ABC.FileUploadComponent = Ember.FileField.extend(
url: "/api/upload"
filesDidChange: (->
uploadUrl = @get("url")
console.log uploadUrl
files = @get("files")
test = { fileName: "test" }
uploader = Ember.Uploader.create(
url: uploadUrl
)
uploader.upload(files[0],test) unless Ember.isEmpty(files)
console.log files
return
).observes("files")
)
javascript 中的组件
ABC.FileUploadComponent = Ember.FileField.extend({
url: "/api/upload",
filesDidChange: (function() {
var files, test, uploadUrl, uploader;
uploadUrl = this.get("url");
console.log(uploadUrl);
files = this.get("files");
test = {
fileName: "test"
};
uploader = Ember.Uploader.create({
url: uploadUrl,
data: test
});
if (!Ember.isEmpty(files)) {
uploader.upload(files[0], test);
}
console.log(files);
}).observes("files")
});
我的服务模式:
namespace ABC.Service.ServiceModel
{
public class Upload
{
[Route("/upload")]
public class UploadRequest : IRequiresRequestStream
{
public System.IO.Stream RequestStream { set; get; }
public object FileName { set; get; }
}
public class UploadResponse
{
public int Successed { set; get; }
}
}
}
我的服务方式
namespace ABC.Service.Service
{
public class UploadService : ServiceBase // Service base inherites from ServiceStack.Service
{
public Upload.UploadResponse Post(Upload.UploadRequest request)
{
var req = base.Request;
var reqThatIwant = request.FileName;
return new Upload.UploadResponse() { Successed = 1 };
}
}
}
这是手表的屏幕:
所以我的问题是,我必须如何更改代码以将标记为“2”的数据转换为标记为“1”的请求对象(在屏幕上标记)?
【问题讨论】:
标签: javascript c# rest ember.js servicestack