Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Asp.Net 4.0 e AjaxFileUpload
mercoledì 02 aprile 2014 - 23.37
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 4.0
sanghino
Profilo
| Junior Member
73
messaggi | Data Invio:
mer 2 apr 2014 - 23:37
Salve,
la domanda che vorrei porre è per togliermi un dubbio più che per risolvere un problema.
Ho scaricato l'ultima versione di AjaxToolKit tramite Nuget e stavo provando l'uso di alcuni di questi componenti. Nello specifico mi interessava capire il funzionamento di AjaxFileUpload. La documentazione on-line è tutto escluso che chiara. In ogni modo sono riuscito ad implementare una semplice pagina per fare il mio test.
Ho piazzato il controllo insieme allo ScriptManager, ho modificato il web.config includendo la sezione handlers in maniera adeguata. In alcuni esempi veniva citata anche la necessità di inserire nel tag la proprietà seguente:
OnUploadComplete="AjaxFileUpload1_UploadComplete"
Facendo questo però ottengo che il metodo UploadComplete viene eseguito due volte (e la seconda restituiva un errore noon trovando più il file appena caricato nella cartella temporanea essendo già stato spostato nel momento della chiamata a AjaxFileUpload1.SaveAs).
La domanda è: quando si deve usare quella proprietà ?
Grazie
Sanghino
--------------------------
www.extrageek.com
algraps
Profilo
| Junior Member
187
messaggi | Data Invio:
gio 3 apr 2014 - 09:04
Ciao,
http://stephenwalther.com/archive/2012/05/01/ajax-control-toolkit-may-2012-release
http://www.mikeborozdin.com/post/AJAX-File-Upload-in-ASPNET-with-the-AsyncFileUpload-Control.aspx
http://forums.asp.net/t/1810838.aspx
UploadComplete viene eseguito quando l'upload e' completato.
Il tuo problema sembra dovuto al reload della pagina col PostBack... Riusciresti a postare il tuo esempio?
Grazie
Alessandro
A.G.
http://nothingnessit.wordpress.com/
sanghino
Profilo
| Junior Member
73
messaggi | Data Invio:
gio 3 apr 2014 - 09:45
Intanto grazie per la risposta.
La serie di post/articoli che mi segnali avevo già avuto modo di leggerli, e anche in quelli non trovo la spiegazione al mio dubbio. Anzi, proprio in questi articoli trovo riferimenti alla proprietà e alle modifiche da applicare a web.config, solo che queste inducono il sistema ad eseguire due volte il metodo.
Ora, togliendo dal tag la proprietà citata, si torna in una situazione normale di una sola esecuzione. Mi chiedo quale sia lo scenario inverso: quando devo lasciare la proprità OnUploadCompleted nel tag ? In assenza di quale configurazione ? Forse dell'handler ?
Questo non sono riuscito a ricavarlo dalle decine di post trovati e letti ...
Grazie.
Sanghino
--------------------------
www.extrageek.com
algraps
Profilo
| Junior Member
187
messaggi | Data Invio:
gio 3 apr 2014 - 14:44
Ciao,
il comportamento e' veramente strano.. Riusciresti a "postare" il codice? Cosi' lo controlliamo...
Ciao
Al.
A.G.
http://nothingnessit.wordpress.com/
sanghino
Profilo
| Junior Member
73
messaggi | Data Invio:
gio 3 apr 2014 - 19:35
Certo nessun problema. Quella che segue è la versione funzionante (a fondo pagina quella che da problemi):
Questo è testUpload.aspx:
<ajaxToolkit:ToolkitScriptManager runat="server" ID="ScriptManager1"></ajaxToolkit:ToolkitScriptManager>
<ajaxToolkit:AjaxFileUpload ID="AjaxFileUpload1" runat="server" ThrobberID="myThrobber" AllowedFileTypes="jpg,bmp,gif,jpeg" MaximumNumberOfFiles="1" />
Mentre questo è il codice di testUpload.aspx.vb:
Partial Class testUpload
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
End Sub
Protected Sub AjaxFileUpload1_UploadComplete(sender As Object, e As AjaxControlToolkit.AjaxFileUploadEventArgs) Handles AjaxFileUpload1.UploadComplete
Dim filePath As String = "~/Public/" + e.FileName
AjaxFileUpload1.SaveAs(Server.MapPath(filePath))
End Sub
End Class
Seguendo i suggerimenti di vari post all'inizio avevo scritto nella pagina testUpload.aspx (la parte di codice rimane uguale):
<ajaxToolkit:ToolkitScriptManager runat="server" ID="ScriptManager1"></ajaxToolkit:ToolkitScriptManager>
<ajaxToolkit:AjaxFileUpload ID="AjaxFileUpload1" runat="server" ThrobberID="myThrobber" AllowedFileTypes="jpg,bmp,gif,jpeg" MaximumNumberOfFiles="1" OnUploadComplete="AjaxFileUpload1_UploadComplete" />
Da quello che ho capito io mi sembra evidente che AjaxFileUpload1_UploadComplete sia chiamato in maniera esplicita e per questo eseguito una prima volta correttamente e poi a seguire la chiamata "forzata" da me che non trova più la risorsa nella cartella temporanea da salvare e che quindi genera l'errore.
Alla luce di ciò riformulo la domanda: esistendo la versione esplicita di chiamata per l'evento "OnUploadComplete" qual'è lo scenario quando questa chiamata diventa necessaria ?
Spero di essere stato chiaro ...
Grazie
Sanghino
--------------------------
www.extrageek.com
Add-on Per l'upload ancora nessuna soluzione ... in compenso ho scoperto che non posso usare AjaxControlToolkit in produzione in quanto il sito, ospitato da Aruba, è impostato su TrustLevel Medium e ACT supporta solo il FULL .... workaround conosciuti ?!?
Grazie ancora !!!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !