2013-09-07 15 views
5

A curajQuery File Upload, ottenere e modificare i dati che viene salvato nel DB

Con la jQuery File Upload Documentation sono in grado di salvare i dati con le immagini in MySQL DB (vedi foto 1 + 2)

Ora dove sono bloccato è come recuperare i dati. Dopo il caricamento vorrei mostrare le immagini con i dati da DB ma non c'è nulla che possa trovare come farlo.

Se qualcuno sa come modificare il json accodando i dati del DB O solo come posso var_dump solo per spingermi nella giusta direzione sarebbe fantastico! Non riesco a trovare dove viene creato il json. JSON ora assomiglia a questo:

{"files":[{ 
    "name"   : "02 (1).jpg", 
    "size"   : 12508, 
    "type"   : "image\/jpeg", 
    "url"   : "http:\/\/localhost:8888\/server\/php\/files\/02%20%281%29.jpg", 
    "thumbnailUrl" : "http:\/\/localhost:8888\/server\/php\/files\/thumbnail\/02%20%281%29.jpg", 
    "deleteUrl" : "http:\/\/localhost:8888\/server\/php\/?file=02%20%281%29.jpg", 
    "deleteType" : "DELETE" 
}]} 

e vorrei renderlo come:

{"files":[{ 
    "name"   : "02 (1).jpg", 
    "size"   : 12508, 
    "type"   : "image\/jpeg", 
    "url"   : "http:\/\/localhost:8888\/server\/php\/files\/02%20%281%29.jpg", 
    "thumbnailUrl" : "http:\/\/localhost:8888\/server\/php\/files\/thumbnail\/02%20%281%29.jpg", 
    "deleteUrl" : "http:\/\/localhost:8888\/server\/php\/?file=02%20%281%29.jpg", 
    "deleteType" : "DELETE", 
    "titleDB"  : "Title1", 
    "textDB"  : "Lorem ipsum dolor...." 
}]} 

ho cercato (come Raja spiegato) e ha cambiato il seguente

require('UploadHandler.php'); 
$upload_handler = new UploadHandler(); 
$response_enc = $this->upload_handler->initialize(); 

Ma oltre Viene visualizzato un errore che dice "JSON.parse: carattere non vuoto non di spaziatura dopo i dati JSON" e io googeld per quello e ho trovato informazioni ma non c'è nulla che mi abbia aiutato.

Qualcuno può aiutarmi su questo o sa dove posso trovare le informazioni? Grazie!

picpic2

risposta

2

Questo vi darà l'idea di base della modifica della risposta JSON dalla libreria uploadhandler,

CURA:

Nella libreria uploadhandler.php e modificare questa linea in modo che restituirà la risposta,

public function post($print_response = true) a public function post($print_response = false)

public function get($print_response = true) a public function get($print_response = false)

protected function initialize() a public function initialize()

CURA: cambiamento anche questo function __construct($options = null, $initialize = false, $error_messages = null)

e in

function initialize() 
// 
      case 'POST': 
       return $this->post(); //Change this line like here 
       break; 
//// 
      case 'GET': 
       return $this->get(); //Change this line like here 
       break; 
// 

Poi nella funzione in cui si chiama la libreria ottiene il risposta b ACK,

require('UploadHandler.php'); 
$upload_handler = new UploadHandler(); 
$response = $upload_handler>initialize(); 

print_r($response); //Dump the response here and check  

$custom_arr = //Save all your custom variables here (DB insert id, Text etc) 
//Sample format of custom_arr 
//$custom_arr['insert_id'] = $mysql_primary_key_id; 
//$custom_arr['txt'] = $user_custom_text_field; 
// 

$response['custom_data'] = $custom_arr; 

echo json_encode($response); 

Nel vostro front-end è possibile usare il fileuploaddone callback per ottenere i dati e giocare con lui.

+0

ooooh rAjA grazie mille. Cercherò! – caramba

+0

Sei il benvenuto :) Fammi sapere se sei rimasto bloccato ovunque – rAjA

+0

non appena ho questo $ response_enc = $ this-> upload_handler-> initialize(); Ottengo un errore (JSON.parse: carattere non vuoto non di spaziatura dopo i dati JSON) qualche idea del perché?come dovrebbero essere le $ custom_arr (variabili)? – caramba