我需要使用AngularJS上传图片而没有表格。但我不知道如何在Laravel接收它,发送它。 我的代码是这样的:
<input type="file" name="file" accept="image/jpeg, image/png" id="file" ng-model="data.image">
$('input[type=file]').change(function () {
$scope.img = this.files[0];
var filePath = $("#file").val();
var reader = new FileReader();
reader.onload = function (e) {
$('#image').attr('src',e.target.result);
$scope.img["imgbase64"] = e.target.result;
};
reader.readAsDataURL(this.files[0]);
});
我在这里使用这项服务:
var imgSend = new FormData();
imgSend.append("file",$scope.img);
data["image"] = imgSend;
url = "maquinas"; registroMaquinaServices.servicesRegistroMaquinaPost(url,data).then(function(promise){
var requests = promise.data.response;
console.log(requests);
})
我发送给laravel。
感谢。
答案 0 :(得分:0)
您可以使用https://github.com/ghostbar/angular-file-model
处理您的图像文件以进行上传,然后您就可以创建表单对象并将其发送到您的laravel服务器,以便能够将图像文件作为常规上传文件获取,不一个base64编码文件。
这是我用来做的代码
在示例中,需要发送到服务器的所有数据都在$scope.data
变量
$http({
headers: {
'Content-Type': undefined //undefined value is on purpose
},
method: method,
url: url,
data: $scope.data,
transformRequest: function(data, headersGetter) {
var formData = new FormData();
angular.forEach(data, function(value, key) {
formData.append(key, value);
});
return formData;
}
})