Autore Topic: Inviare Foto a server PHP  (Letto 656 volte)

Offline systemgvp

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Ideos
  • Play Store ID:
    systemgvp
  • Sistema operativo:
    Windows 7
Inviare Foto a server PHP
« il: 27 Giugno 2014, 01:22:04 CEST »
0
Salve,

ho un piccolo problema, tempo fa ero stato contattato per creare un'app che inviasse ad un server PHP una foto attraversoil codice:

Codice (Java): [Seleziona]
// Avviamo un Thread con il corrispondente codice di connessione
            Thread ThreadInvioDeiDati = new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        // Otteniamo il riferimento al HttpClient attraverso la Application
                        CreazioneClientHTML ca = (CreazioneClientHTML)getApplication();
                        HttpClient httpClient = ca.getThreadSafeHttpClient();
                        // Creiamo la HttpUriRequest relativamente al metodo POST
                        HttpPost request = new HttpPost();
                        System.out.println(TAG+"---------------------------------------------------INVIO DELLA RICHIESTA-----");
                        // imposta i parametri aggiuntivi da passare via GET
                        String Parametro1 = "utente="       + utente;
                        String Parametro2 = "password="     + password;
                        String Parametro3 = "titolo="       + titolo_TXT.replace(" ","%20");
                        //imposta la pagina
                        String Pagina = "mobile_segnalaevento.php?"+Parametro1+"&"+Parametro2+"&"+Parametro3;
                        //indirizzo di richiesta
                        URI targetUri = new URI("http://miositi.altervista.org/"+Pagina);
                        request.setURI(targetUri);

                        //carica la foto
                        File CartellaApplicazione = new File( Environment.getExternalStorageDirectory(), "segnalazioni" );
                        File filedellafoto = new File(CartellaApplicazione, "inattesa.jpg");
                        System.out.println(TAG+"carica la foto");
                        // Otteniamo il riferimento alla risorsa da inviare
                        InputStream imageIS  = new FileInputStream(filedellafoto);
                        System.out.println(TAG+"tteniamo il riferimento alla risorsa da inviare");
                        // Creiamo un oggetto di tipo InpuStreamBody che ci permette di inserire l'array di byte all'interno di un MultiPart
                        InputStreamBody imagePart = new InputStreamBody(imageIS,"FOTOGRAFIA"); //imageToUpload
                        System.out.println(TAG+"creiamo un oggetto di tipo InpuStreamBody");
                        // Creiamo una Entity MultiPart
                        MultipartEntity mpEntity = new MultipartEntity();
                        mpEntity.addPart("foto", imagePart);
                        //mpEntity.addPart("event", eventoPart);
                        System.out.println(TAG+"Creiamo una Entity MultiPart");
                        // Impostiamo l'entità nella request
                        request.setEntity(mpEntity);
                        System.out.println(TAG+"Impostiamo l'entità nella request");

                        // A questo punto invochiamo il server
                        System.out.println(TAG+"invocazione del server . httpClient.execute : "+Pagina);
                        httpClient.execute(request, myResponseHandler);
                    }
                    catch (Exception e) { showMessageOnOutput(e.getMessage()); }
                    finally { dialogoDiAttesa.dismiss(); }
                }
            });
            // Visualizziamo una Dialog di attesa
            setDialog(DIALOGO_DI_CARICAMENTO).show();
            // Lo avviamo
            ThreadInvioDeiDati.start();

che sembra funzionare, in quanto non restituisce errori, ora il problema è nato dal fatto che devo realizzare, per altri, anche la pagina PHP che prende in input questo file "inattesa.jpg" che arriva tramite POST e lo salva in un file sul server.

Il problema è quindi che non ho idea di che codice associargli alla pagina PHP!

Post unito: 28 Giugno 2014, 00:05:22 CEST
Risolto con
Codice: [Seleziona]
<?php
//recupera le variabili inviate
if(isset($_GET['utente']))
{
 $file_di_destinazione = "./problemi/" . ['name'];
 if(move_uploaded_file($_FILES['foto']['tmp_name'], $file_di_destinazione))
 {
  echo "caricato";
 }
 else
 {
  echo "ERRORE nel caricamento del file";
 }
} else { echo "Server : MANCANO dati."; }
?>

« Ultima modifica: 28 Giugno 2014, 00:05:22 CEST da systemgvp, Reason: Merged DoublePost »