Allegati Multipli Ad Un Post

Ciao, ma se volessi inserire un link per eliminare il file appena caircato? per capirci dentro




<li class=" qq-upload-success">

<span class="qq-upload-file">IMAGE.jpeg</span>

<span class="qq-upload-size" style="display: inline;">21.4kB</span>

<a href="QUI LINK ALL'ACTION DELETE DEL CONTROLLER">Delete</a></span>

</li>



come si potrebbe fare?

devi modificare il js, oppure ricrei una cosa del genere nella pagina

@giacomo hai trovato modo di far spuntare il button <elimina allegato> accanto ad ogni rigo ?

Ho anche notato, scrutando il codice, che questo plugin permette il drag&drop. Come mai non è stato reso come opzione dell’extension ?

tnx

il drag&drop funziona correttamente. basta trascinare un file sul bottone che viene renderizzato.

Benissimo, quindi se quel bottone lo ‘allargo’ x farlo sembrar un contenitore, funziona ?

Domanda: Quando faccio l’ulpoad dello stesso file + di una volta, il js lo rinomina, ma la variabile fileName invece no. Esiste un modo x ottenere il file rinominato, invece del nome originale ?

tnx

Il nome del file rinominato lo trovi dentro al json, così




   'onComplete'=>"js:function(id, fileName, responseJSON){ 

    alert(responseJSON['filename']);

    }",



per quanto rigaurdo il link ‘delete’, ci lavorerò tra oggi e domani. Faccio sapere se riesco a combinare qualcosa :)

Grazie @giacomo, sei stato + veloce di me, m’ero accorto del post già affrontato e stavo x modificare il mio… ;)

Ciao, se ti può ancora interessare ti mostro la mia soluzione per il delete.

Dopo aver perso mezzora a cercare di capire il js, ho fatto un veloce workaround :)

Dentro il file fileuploader.js ho semplicemente utilizzato una classe ‘hide’, a cui corrisponde diplay:none, per non visualizzare la lista dei file uplodati.




'<ul class="qq-upload-list hide"></ul>' +



poi dentro alla vista ho creato una nuova lista vuota




<ul id="uploaded_list"></ul>



e dentro il widget chiamo una funzione all’onComplete




'onComplete'=>"js:function(id, fileName, responseJSON){ 

 delete_file(id,responseJSON, $var1, $var2);

 }",



tale funzione andrà a popolare ‘uploaded_list’ con tutto quello di cui ho bisogno




function delete_file(id,responseJSON, var1, var2){

 $('#uploaded_list).append("<li>"+responseJSON["filename"]+"<a href="#">View File</a><a href="javascript:void(0))" class="delete_file" filename='"+responseJSON["filename"]+"'>Delete</a></li>");

 }



e uso una funzione per la cancellazione in ajax del file





	$(document).on("click", ".delete_file", '',function()

	{


        var filename = link.attr('filename');

		$.ajax(

		{

			type: 'POST',

			url: '<?php echo Yii::app()->createAbsoluteUrl("controller/deleteuploaded"); ?>',

			data: {filename: filename},

			success:function(data)

			{	

				alert(data); // qui puoi fare ad esempio il fadeOut dell'elemento dalla lista

			},

			error: function(data) 

			{ // if error occured

				alert("Error occured.please try again");

			},

			dataType:'html'

		});

	  });




infine nel controller





public function actionDeleteUploaded()

{

        $filename = $_POST['filename'];

	$path  = 'protected/upload/';

	if(file_exists($path.$filename)){ 

	unlink($path.$filename);

	     echo "deleted"; 

	} 	

}



Il codice prendilo con le pinze, ho rinominato variabili e cancellato parti di logica, però in linea teorica i passaggi sono questi. :rolleyes:

Ciao Giacomo come stai ? Riprendo questo vecchio post perchè sono finalmente tornato su questo argomento. Però stavolta è un pochetto particolare, mi spiego:

Dovrei associare ad un model dei .pdf (o .jpeg volendo) di particolari tipologie (tipo01; tipo02; tipo03; altro99)

Dunque avrei 2 domande da farti ?

1: Hai trovato il modo di realizzare sulla immagine appena uploadata dei link x (edit/delete) l’immagine stessa ?

2: Poi,volendo fare questo: x ogni tipologia da gestire un rigo >TIPO_IMMAGINE |upload| if(esiste(image)) tasto ‘upload’ visibile, else (tasto ‘delete/edit’) …

scusami se son stato contorto nel spiegare :) fino a stanotte ho litigato con EFineUploaders e ho dato una sbirciatina all’ext.gallery ma non ho ancora trovato una soluzione :)

ciao