Android ionic应用程序图像从相机照片库上载,但文件名为img;。图jpg“;
我曾经在我的ionic应用程序中上传过一张图片。除了文件名,一切都很顺利 文件名变为“.Pic.jpg” 为什么会发生这种情况?我应该做些什么来克服这个问题?Android ionic应用程序图像从相机照片库上载,但文件名为img;。图jpg“;,android,ionic-framework,file-transfer,ngcordova,Android,Ionic Framework,File Transfer,Ngcordova,我曾经在我的ionic应用程序中上传过一张图片。除了文件名,一切都很顺利 文件名变为“.Pic.jpg” 为什么会发生这种情况?我应该做些什么来克服这个问题? 具体来说,如何使上载图像的文件名与所选图像具有相同的名称 我查到了你提到的代码。那个上传的文件在那个里,但文件名不见了。为此,您需要提及要上载文件的图像的名称。比如说 var options = { quality: 90, destinationType: Camera.Destin
具体来说,如何使上载图像的文件名与所选图像具有相同的名称 我查到了你提到的代码。那个上传的文件在那个里,但文件名不见了。为此,您需要提及要上载文件的图像的名称。比如说
var options = {
quality: 90,
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
allowEdit: true,
encodingType: Camera.EncodingType.JPEG,
popoverOptions: CameraPopoverOptions,
saveToPhotoAlbum: false
};
$cordovaCamera.getPicture(options).then(function(imageData) {
$scope.profileImageData = imageData;
$scope.profileImageName = Math.floor(Math.random()*16777215).toString(16)
var server = baseUrlImageUpload+'upload.php';
filePath = imageData;
var date = new Date();
var options = {
fileKey: "file",
fileName: $scope.profileImageName,
chunkedMode: false,
mimeType: "image/jpg"
};
$cordovaFileTransfer.upload(server, filePath, options).then(function(result) {
$ionicLoading.hide();
//alert(JSON.stringify(result.response));
}, function(err) {
$ionicLoading.hide();
//alert("Select image again")
var alertPopup = $ionicPopup.alert({
title: 'Sorry!',
template: 'Please select image again.'
});
}, function (progress) {
$ionicLoading.show({
template: 'Updating Image...'
});
});
});
在上面的代码中,我将随机传入图像名称
$scope.profileImageName=Math.floor(Math.random()*16777215).toString(16)
您的php代码如下所示
<?php
if ($_FILES["file"]["error"] > 0) {
echo "Error Code: " . $_FILES["file"]["error"] . "<br />";
} else {
if ($_FILES["file"]["size"] < 1024 * 1024) {
if (file_exists("/files/".$_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. No joke-- this error is almost <i><b>impossible</b></i> to get. Try again, I bet 1 million dollars it won't ever happen again.";
} else {
$number = rand(111111,999999);
move_uploaded_file($_FILES["file"]["tmp_name"], 'images/' .$_FILES["file"]["name"].'.jpg');
echo "Done";
//return $number;
}
} else {
// echo "File Size: " . ($_FILES["file"]["size"] / 1024 * 1024) . " MB<br />";
echo "Please upload below 1MB images";
}
}
?>