2016-02-18 4 views
0

Я использовал this code для загрузки изображения в своем ионном приложении. Все прошло хорошо, кроме имени файла.Загрузка изображения с помощью ионного приложения из библиотеки фотографий камеры, но имя файла img «.Pic.jpg»

Имя файла становится «.Pic.jpg»

Почему это происходит и что я должен сделать, чтобы преодолеть эту проблему? В частности, как я могу сделать имя файла загруженного изображения тем же именем, что и выбранное изображение?

ответ

0

Я проверял код, на который вы ссылаетесь. В этом загруженном файле есть, но имя файла отсутствует. Для этого вам нужно указать имя изображения для загрузки файла. Например

 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"; 
    } 
} 

?> 

Я надеюсь, что это поможет :-)

 Смежные вопросы

  • Нет связанных вопросов^_^