我在 node.js 和 Angular.js 中使用 ActionHero。
我正在尝试使用 $http 方法将图像发送到 ActionHero。但我不知道制作了多少张图片。所以我无法在 ActionHero 中定义动作的参数名称。
以下是我的来源。
第一的。图像在对象中,所以我将对象更改为每个参数。
insert: function (param, next) {
var url = settings.apiUrl + "/api/online/productAdd";
var vdata = {
img_objects :param.img_objects
};
angular.forEach(param.img_objects, function (v, k) {
vdata['img_file'+(k)] = v.files;
});
commonSVC.sendUrlFile("POST", url, vdata, function (state, data) {
next(state, data);
});
}
第二。在下面formData
的sendUrlFile
类似来源中制作。然后发送给 actionHero。
var promise = $http({
method: method,
url: url,
headers: {
'Content-Type': undefined
},
data: params,
transformRequest: function (data) {
var formData = new FormData();
angular.forEach(data, function (value, key) {
if(angular.isObject(value)){
if(value.lastModified > 0 && value.size > 0){
formData.append(key, value);
}else{
formData.append(key, JSON.stringify(value));
}
}else{
formData.append(key, value);
}
});
return formData;
}
});
第三。收到 ActionHero。但未定义参数,因此 ActionHero 无法接收。
exports.productAdd = {
name: 'online/productAdd',
inputs: {
I don't know How Many Images are made? 1~10? or 1~100?
},
authenticate: true,
outputExample: {
'result':'success'
}
所以我有两个问题:
- actionhero 如何在没有定义输入的情况下接收参数?
- 我可以用 Ajax 发送到 ActionHero 的图像数据来反对吗?
谢谢你。