如果我将图像添加到帖子请求中,则无法在客户端或服务器端应答。
var self = this;
var path = "/admin/speakers";
var segment = "";
var body = token.body;
var config = {
withCredentials: true,
headers: {
'x-auth-token': localStorage.getItem("model.LoginProxy.authToken"),
'Content-Type': undefined
},
transformRequest: angular.identity
};
this.$http.post(path + segment, body, config)
.success(function(data, status, headers, config) {
self.onResult({data: data, status: status, headers: headers, config: config});
})
.error(function(data, status, headers, config) {
self.onFault({data: data, status: status, headers: headers, config: config});
});
使用某些表单数据处理图片上传的部分代码。
formData.append("bio", this.$scope.data.bio);
formData.append("photo", document.getElementById("photo").files[0]);
在服务器端,我确实得到了这个输出。
{ fieldname: 'photo',
originalname: '02.jpg',
name: 'd8a96dffc1ae80515a94fdb159ab3b9e.jpg',
encoding: '7bit',
mimetype: 'image/jpeg',
path: '/var/folders/jg/hkmz0fdn64g8w1jgf60j2lcw0000gn/T/d8a96dffc1ae80515a94fdb159ab3b9e.jpg',
extension: 'jpg',
size: 10306,
truncated: false,
buffer: null }
找到实际问题但需要帮助解决这个问题。
html + angular
<input type="hidden" name="bucket" value="photos" ng-model="data.bucket" />
formData.append("bucket", this.$scope.data.bucket);
存储桶在服务器上以undefined
结尾,它是表单上的隐藏字段,想知道我们如何设置这些值,我不想在$scope
中硬编码存储桶名称而是从表单本身中选择值。它是如何在angular + html中完成的?
期望/问题
我希望value="photos" ng-model="data.bucket"
绑定到$scope.data.bucket
,但它最终在$ scope上未定义,有没有办法在$scope.data
中没有硬编码文件夹上传名称?