выдача полученного изображения в php с помощью скрипта загрузки Android - PullRequest
0 голосов
/ 06 апреля 2011

Я использую этот код для загрузки изображения: http://vikaskanani.wordpress.com/2011/01/11/android-upload-image-or-file-using-http-post-multi-part/

Я заменил

bm = BitmapFactory.decodeFile("/data/data/fshizzle.com/files/image.jpg");

и

HttpPost postRequest = new HttpPost("http://10.0.2.2/upload.php");

это все!

Я не могу получить информацию в php файле. Я использую этот код php work, если использую html код

<form method="POST" action="upload.php" enctype="multipart/form-data">
     <!-- On limite le fichier à 100Ko -->
     <input type="hidden" name="MAX_FILE_SIZE" value="100000">
     Fichier : <input type="file" name="avatar">
     <input type="submit" name="envoyer" value="Envoyer le fichier">
</form>

CODE PHP:

$dossier = './upload/';
$fichier = basename($_FILES['sfsdfsdf']['name']);
if(move_uploaded_file($_FILES['sfsdfsdf']['tmp_name'], $dossier . $fichier)) 
//Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
     echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
     echo '<br>Echec de l\'upload !';
}

простой if(isset($_FILES['sfsdfsdf'])) не работает, что являетсяхороший код?

Ответы [ 3 ]

0 голосов
/ 06 апреля 2011

простой пример загрузки, чтобы помочь вам лучше понять процесс.

<form method="POST" action="upload.php" enctype="multipart/form-data">
     <!-- On limite le fichier à 100Ko -->
     <input type="hidden" name="MAX_FILE_SIZE" value="100000">
     Fichier : <input type="file" name="avatar">
     <input type="submit" name="envoyer" value="Envoyer le fichier">
</form>

upload.php

<?php 
$dossier = './upload/';
//check for image mime types & under 100kb
if ($_FILES["avatar"]["type"] == "image/jpeg" ||
$_FILES["avatar"]["type"] == "image/png" ||
$_FILES["avatar"]["type"] == "image/gif"
&& $_FILES["avatar"]["size"] < 100000){

    //if server rejects the upload (http://php.net/manual/en/features.file-upload.errors.php)
    if($_FILES["avatar"]["error"] > 0){
        $uploadSuccess='<br>Echec de l\'upload !';
    }else{
        //check if file already exists
        if (file_exists($dossier.$_FILES['avatar']['name'])){
            $uploadSuccess=$_FILES["avatar"]["name"]." already exists.";
        }else{
            //move the uploaded file
            move_uploaded_file($_FILES["avatar"]["tmp_name"],$dossier.$_FILES['avatar']['name']);
            $uploadSuccess='Upload effectué avec succès !';
            //success
        }
    }
}else{$uploadSuccess='<br>Echec de l\'upload !';}

echo $uploadSuccess;
?>
0 голосов
/ 08 апреля 2011

Решено, я тестирую с Mydns и моим реальным телефоном, и это работает.

0 голосов
/ 06 апреля 2011

Если я понимаю вашу проблему, то у меня вчера было то же самое.Из предоставленного вами кода кажется, что они пропустили некоторые важные части, такие как энктип.Если вы загружаете изображение из Google в php с Android, есть несколько лучших примеров.

Если вы решили сделать это таким образом, убедитесь, что на вашем сервере установлены разрешения, позволяющие php создавать, писать и / иличитать файлы для любого каталога, который вы используете.Я нашел этот метод очень трудным, и обнаружил, что гораздо проще преобразовать изображение в base64 и отправить его в виде строки на сервер, а php создать файл, используя строку base64.Если вы не можете понять, как это сделать (Google), дайте мне знать, и я посмотрю, смогу ли я выслать вам какой-нибудь код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...