我使用ng-file-upload上传xls或xlsx文件,下面是我的html代码
<div ngf-drop ngf-select ngf-change="checkFile($invalidFiles);" ngf-model-invalid="invalidFiles" ng-model="file" class="center" ngf-drag-over-class="'dragover'" ngf-pattern="'.xls,.xlsx'">
<button class="some-class" ng-click="upload(file)"></button>
角度控制器:
$scope.upload = function (file) {
if (file) {
var upload = Upload.upload({
url: API.url('upload'),
data: {
file: file
},
headers:{ // tried passing different headers as well
"Content-Type":"multipart/form-data"
}
});
upload.then(function (resp) {
//Some Operation
}, null, function (evt) {
//Some Operation
});
}
};
Flask服务器:
def upload(self):
params = self.get_params(request)
file = request.files['file'] ###This object is empty.
result = self._upload_file(file)
return "Dummy"
我关注了服务器端的this文档。 我认为问题来自客户端,可能是我发送了一些不好的请求,因为烧瓶服务器正在抛出400.所以我尝试发送&#39; multipart / form-data&#39;标题,但没有运气,也通过显式发送表单数据。 我也找了一些像sol-1这样的解决方案。 我在ng-file-upload文档中找不到任何可以解决我问题的内容。
如果需要,我也可以发送请求标题。
我可能会错过很小的一部分,有人可以指出我。
答案 0 :(得分:0)
标题 默认值,已在帖子请求中。添加"Content-Type":"multipart/form-data"
只是压倒一切。没有它就试试吧。