2016-09-14 112 views
1

我创建了应用程序使用离子和角度与php后端。从角度上传和检索图像到php服务器

我可以根据下面的锻炼将角度上传到php服务器的图像。

Upload.js

$scope.onProfileFileSelect = function($files) { 
//$files: an array of files selected, each file has name, size, and type. 
for (var i = 0; i < $files.length; i++) { 
var $file = $files[i]; 
console.log($file.name); 
$upload.upload({ 
url: 'http://www.testphp.com/upload.php', 
file: $file, 
progress: function(e){} 
}).then(function(response) { 
// file is uploaded successfully 
$timeout(function() { 
console.log(response.data); 
}); 
}); 
} 
} 

Upload.html

<div class="item item-input item-icon-right"> 
<span class="input-label">Capture your profile picture: </span>     
<input type="file" name="ProfilePath" ng-model="inmateData.IMProfilePhotoPath" ng-file-select="onProfileFileSelect($files)" multiple /> 
</div> 

upload.php的

<?php 

if (isset($_SERVER['HTTP_ORIGIN'])) 
{ 
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); 
header('Access-Control-Allow-Credentials: true'); 
header('Access-Control-Max-Age: 86400'); // cache for 1 day 
} 

// Access-Control headers are received during OPTIONS requests 
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { 

if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) 
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");   

if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) 
header("Access-Control-Allow-Headers:  {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); 

exit(0); 
} 

$target_dir = "Inmate_Images/"; 
$target_file = $target_dir . basename($_FILES["file"]["name"]); 
$result = move_uploaded_file($_FILES["file"]["tmp_name"], $target_file); 
echo json_encode($_FILES["file"]); 
echo($result); 
?> 

截至目前我能够上传选定的图像并存储在我的PHP服务器“Inmate_Images”文件夹中。

我的要求是:

  1. 我需要改变图像文件名,然后直接上传到服务器。

  2. 以及如何使用获取请求获取图片以及上传时提供的名称。 ??

如何处理此活动的任何想法?

+0

您是否尝试过这两点?什么是错误?询问具体情况。 – Jay

+0

console.log($ file.name); - 我试图通过$ .file.name =“userone”更改图像名称;但它没有反映出来。我没有任何想法访问php文件夹。 –

回答

0

正如前面提到的我的要求第二点,我找到了答案,请找到下面的一个。任何建议请让我知道。

preview.html

<img ng-src="http://www.testphp.com/Inmate_Images/mike.png" style="height:75px; padding: 5px 5px 5px 5px;"/> 

的事情是,你只是让你的图像的路径在您的服务器文件夹,并直接使用< img>标签,你可以能够显示。

但我的问题是如何改变图像的文件名,同时从< INPUT TYPE =文件>标记选择因为我想更改文件名,而上传它会更容易让我再次得到文件。