正如问题所提到的,我有一个关于如何将图像上传到服务器的问题。我在互联网上搜索并找到了一些引用资料,但我仍然不明白它们是如何工作的。例如:AngularJS Image upload using php
图片如何上传?因为那里没有提交按钮。我按照那里的代码尝试了,仍然无法上传文件。
我还尝试从这里查看一些可用的模块:File Upload using AngularJS 看了几个小时后,我仍然不明白如何使用它们。有没有更简单或更容易理解的指南可供我遵循?提前致谢。
编辑:如果有更简单的示例,例如仅上传一个文件,请链接我到它,因为有很多非常先进的示例,其中包含许多部分,例如上传多个文件等。
最佳答案
试试这个 html
<div type="file" ngf-drop ng-model="files" class="container drop-box text-center"
ngf-drag-over-class="dragover" ngf-multiple="true" ngf-allow-dir="true"
ngf-accept="'.jpg,.png'"><input type="hidden" name="image_id" >Drop Images here</div>
在你的 Controller 中尝试这个
controller: function($scope,$http,$timeout,Upload) {
$scope.$watch('files', function () {
$scope.upload($scope.files);
});
$scope.upload = function (files) {
if (files && files.length) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
Upload.upload({
url: 'php/upload.php',
headers: {'Content-Type': file.type},
method: 'POST',
data: file,
file: file,
}).progress(function (evt) {
var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);
}).success(function (data, status, headers, config) {
console.log('file ' + config.file.name + 'uploaded. Response: ' + data);
$scope.image_submit = function() {
$http.post('php/slider.php?action=add_image',
{
'img_name' : config.file.name,
'img_src' : '../images/' + config.file.name
}
)
.success(function (data, status, headers, config) {
$scope.get_image();
})
.error(function(data, status, headers, config){
});
};
$scope.image_submit();
});
}
}
};
这在你的 php 文件中
<?php
$filename = $_FILES['file']['name'];
$destination = '../images/' . $filename;
move_uploaded_file( $_FILES['file']['tmp_name'] , $destination );
?>
您还需要创建一个数据库连接并创建 2 个 php 函数,一个用于从数据库中获取图像,一个用于创建图像,一个在 Controller 中获取图像。添加图像的函数我已经给出了它在 Controller 中给你。
关于php - 使用 AngularJS 和 PHP 将图像上传到服务器路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28010178/