ng-file-upload + 将多个文件数组空发送到服务器 (sails)
ng-file-upload + sending multiple file array empty to server (sails)
我正在尝试使用 ng-file-upload 将多个文件发送到我的 sails 服务器。我正在使用ng文件上传网页的示例,但它不起作用。
问题:
我在服务器上得到一个空数组。
事实:
我正在使用 chrome,它具有 html5 多文件上传支持。
我使用邮递员测试了服务器,它工作了,话虽如此,问题出在客户端上。
我能够在客户端控制台.log文件。
这是 js 代码:
$scope.onFileSelect = function (files) {
if (!($scope.updateAssetForm.OSGImages)) {
console.log($scope.updateAsset.OSGImages.$valid);
console.log($scope.updateAssetForm.OSGImages);
return;
}
console.log($scope.updateAssetForm.OSGImages);
var test = [];
for (var i = 0; i < $scope.updateAssetForm.OSGImages.length; i++) {
test.push($scope.updateAssetForm.OSGImages[i])
}
console.log(test);
Upload.upload({
url: '/api/updateAsset',
data: {
osgFile: test,
'assetId': 5,
'loadValueType' : 4,
}
})
},
这是 html 代码:
<div class = "control-group form-group col-md-12"
ng-class = "{'has-error':updateAsset.OSGImages.$invalid && updateAsset.OSGImages.$dirty}" ng-if = "showUploadFile(4)">
<button ngf-select="onFileSelect(updateAssetForm.OSGImages)" ng-model="updateAssetForm.OSGImages" ngf-multiple="true">
OSG Images (optional) (max 3 MB)
</div>
<p ng-repeat="image in updateAssetForm.OSGImages">
{{image.name}}
</p>
<span class = "help-block has-error" ng-if="updateAsset.OSGImages.$dirty">
</span>
</div>
网络选项卡日志:
接受:应用程序/json, 文本/纯文本, /内容类型:多部分/表单数据;boundary=----WebKitFormBoundaryhfBw31xYfdWDtTlU来源:http://localhost:1337引用:http://localhost:1337/editproject用户代理:Mozilla/5.0 (Macintosh;Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36
------WebKitFormBoundaryhfBw31xYfdWDtTlU内容处置:表单数据;名称="osg文件[0]";文件名="P51D-JW-03.png"内容类型:图像/png
------WebKitFormBoundaryhfBw31xYfdWDtTlU内容处置:表单数据;名称="osg文件[1]";文件名="P51D-JW-02.png"内容类型:图像/png
------WebKitFormBoundaryhfBw31xYfdWDtTlU内容处置:表单数据;名称="osg文件[2]";文件名="P51D-JW-01.png"内容类型:图像/png
------WebKitFormBoundaryhfBw31xYfdWDtTlU内容处置:表单数据;名称="资产 ID"
5------WebKitFormBoundaryhfBw31xYfdWDtTlU内容处置:表单数据;名称="加载值类型"
四------WebKitFormBoundaryhfBw31xYfdWDtTlU--
我做错了什么?
将 arrayKey: ' ' 字段添加到上传函数
Upload.upload({
url: '/api/updateAsset',
arrayKey: '',
data: {
osgFile: test,
'assetId': 5,
'loadValueType' : 4,
},
method: "PUT"
})
它将确保以"fieldName"而不是"fieldName[0]"接收文件数组
我发现了"问题":
ng-file-upload将"名称"(字段)更改为"名称[0]","名称[1]","名称[n]"...我试图用"名称"获取服务器上的所有数组。
我试图用"name"获取所有数组的原因是,当我用邮递员发送数组时,它只使用"name"来获取所有数组。
使用 sails + ng-file-upload 上传多个文件时避免数组问题的解决方案在这里:https://github.com/balderdashy/skipper/issues/67
最好。
- 使用JSP从服务器检索和显示图像
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 客户端服务器REST API captcha实现
- Sails.js:同时发布文本输入和一个文件
- 正在将base64 jpeg从input-type=file上传到服务器
- Webpack开发服务器和React服务器端渲染
- 提示使用服务器端事件处理程序激活JavaScript
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- jQuery blueimp文件上传:将N-1个文件上传到IE中的服务器
- 使用jasmine模拟对服务器的调用
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- ng-file-upload + 将多个文件数组空发送到服务器 (sails)
- 如何使用 Sails.js 创建 TCP 服务器
- 如何将 Socket.IO 客户端连接到 Sails.js 服务器
- 如何将所有 HTTP 请求记录到我的 Sails.js 服务器
- Sails JS套接字事件在服务器重新启动后不触发
- Sails.js服务器不再启动
- 如何使用React.js在Sails.js上渲染服务器端模板
- 在具有不同端口号的单个服务器上运行多个sails项目不起作用