Autore Topic: invio foto attraverso json  (Letto 563 volte)

Offline dadoduck

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
invio foto attraverso json
« il: 03 Febbraio 2014, 14:30:20 CET »
0
ciao a tutti, sono diversi giorni che sbatto su questo problema, in giro qualcosa ho trovato ma non riesco a farlo funzionare proprio. Veniamo al problema... Ho un server web che tramite json acquisisce via post una stringa (titolo) e una foto... per l'invio e la ricezione della stringa non ho nessun problema, ma quando vado ad aggiungere anche la foto mi incasino completamente... il codice php del webs:

Codice: [Seleziona]
<?php

//load and connect to MySQL database stuff
require("config.inc.php");

if (!empty($_POST)) {
        //initial query
        $query = "INSERT INTO annunciofoto ( titolo, foto1 ) VALUES ( :titolo, :foto1 ) ";
       
        // upload foto
        $tempPos = $_FILES['FileUtente']['tmp_name'];
        $destPos = "./pictures/".$_FILES['FileUtente']['name'];
        move_uploaded_file($tempPos, $destPos);

    //Update query
    $query_params = array(
        ':titolo' => $_POST['titolo'],
            ':foto1' => $_FILES['FileUtente']['name']
    );
 
        //execute query
    try {
        $stmt   = $db->prepare($query);
        $result = $stmt->execute($query_params);
    }
    catch (PDOException $ex) {
        // For testing, you could use a die and message.
        //die("Failed to run query: " . $ex->getMessage());
       
        //or just use this use this one:
        $response["success"] = 0;
        $response["message"] = "Database Error. Couldn't add announcement!";
        die(json_encode($response));
    }

    $response["success"] = 1;
    $response["message"] = "Announcement Successfully Added!";
    echo json_encode($response);
   
} else {
}

?>

in pratica prendo da post foto e titolo e uno lo inserisco nel db, l'altro nella cartella corrispondente del server.

codice java:

Codice (Java): [Seleziona]
...
@Override
                protected String doInBackground(String... args) {
                       
                        int success;
            String titolo = txtTitle.getText().toString();
            Bitmap bm = BitmapFactory.decodeFile(imagePath);
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                bm.compress(Bitmap.CompressFormat.JPEG, 100, baos);
                byte[] b = baos.toByteArray();
                String foto = Base64.encodeToString(b, Base64.DEFAULT);
               
           
            try {
                // Building Parameters
                List<NameValuePair> params = new ArrayList<NameValuePair>();
                params.add(new BasicNameValuePair("titolo", titolo));
                params.add(new BasicNameValuePair("foto1", foto));
...

qualcuno mi potrebbe dare qualche dritta????