我正在使用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
});
}
};
烧瓶服务器:
def upload(self):
params = self.get_params(request)
file = request.files['file'] ###This object is empty.
result = self._upload_file(file)
return "Dummy"
我遵循此文档的服务器端。我认为问题是来自客户端,可能是因为烧瓶服务器投掷400,我正在发送一些不良的请求。因此,我尝试通过发送" Multipart/form-data"标头来尝试,但没有运气,也没有明确发送表单数据。我还寻找了一些解决方案,例如Sol-1。我还没有找到可以在NG-File-Upload文档中解决我的问题的任何东西。
如果需要,我也可以发送请求标题。
我可能缺少很小的部分,有人可以指出我。
默认值 for 标题 它已经在post request request 中了。添加"Content-Type":"multipart/form-data"
只是覆盖了这一点。毫无疑问。