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
System.UnauthorizedAccessException in caricamento file
martedì 30 settembre 2008 - 15.21
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
muccio04
Profilo
| Newbie
33
messaggi | Data Invio:
mar 30 set 2008 - 15:21
ciao a tutti,
utilizzando la libreria NeatUpload:
http://www.brettle.com/Default.aspx?pageid=32
per il caricamento di files su server, incappo nel seguente errore runtime :
System.UnauthorizedAccessException .
credo sia un errore di permesso sulle directory, qualcuno sa indicarmi come risolverlo?.
grazie a tutti.
Simone
rossimarko
Profilo
| Guru
1.173
messaggi | Data Invio:
mar 30 set 2008 - 15:39
Ciao,
puoi accedere al server e configurare i permessi delle cartelle oppure è un servizio di hosting a cui ti fanno accedere solo via ftp? Nel secondo caso di solito ti forniscono anche una cartella apposta per poter scrivere i file
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
muccio04
Profilo
| Newbie
33
messaggi | Data Invio:
mar 30 set 2008 - 18:25
no è un problema in locale...c'e qalche parametro nel file web.config da settare? .
il problema è che se eseguo il salvataggio da comune file upload , funziona, se invece utilizzo il tool di neatUpload (per effettuare il caricamento con una barra di progresso) mi da errore.
rossimarko
Profilo
| Guru
1.173
messaggi | Data Invio:
mer 1 ott 2008 - 00:01
Se usi il file system ntfs devi verificare le impostazioni di sicurezza nelle proprietà della cartella dove vai a salvare.
A questo link (sezione "Create the Data directory" ) trovi come fare nel caso di IIS 6:
http://support.microsoft.com/?scid=kb%3Ben-us%3B323245&x=16&y=15
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
muccio04
Profilo
| Newbie
33
messaggi | Data Invio:
mer 1 ott 2008 - 11:24
ciao, ho deciso di provare ad implementarlo, magari se ci riesco potrebbe essere una cosa che serve ad altri.
ti posto il codice (non sono tante righe) che per adesso non sono riuscito a fare girare del tutto, nel senso che non so per quale motivo non vengono aggiornate le label che indicano i bites uploadati.
spero tu mi possa dare una mano.
qua sotto riporto il codice.
pensavo di sfruttare ajax e ogni tot secondi (tramite timer) chiedere al web server sia la dimesione del file, che i bytes caricati.
protected void Timer1_Tick(object sender, EventArgs e)
{
//metto la dimensione totale del file
//LabelDimensioneTotale.Text = "dimensione del file da caricare: ";
//LabelDimensioneTotale.Text += dimensioneFile.ToString();
//LabelDimensioneTotale.Text += " ";
//metto la di dimensione attualmente caricata
LabelDimensioneCaricata.Text = "byte attualmente caricati: ";
try
{
//tento di aprire il file
FileStream f = new FileStream(nomeFile, FileMode.Open);
//mi prendo la dimensione attuale del file caricato
LabelDimensioneCaricata.Text += f.Seek(0, SeekOrigin.End).ToString();
long dim = f.Seek(0, SeekOrigin.End);
f.Close();
}
catch(Exception ex)
{
LabelErrore.Text = ex.GetType().ToString();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
dimensioneFile = FileUpload1.PostedFile.ContentLength;
LabelDimensioneTotale.Text = "dimensione del file da caricare: ";
LabelDimensioneTotale.Text += dimensioneFile.ToString();
LabelDimensioneTotale.Text += " ";
//setto l'intervallo del tick
Timer1.Interval = 6000;
nomeFile = "d:\\inetpub\\webs\\labottegadellamotoit\\public\\" + FileUpload1.PostedFile.FileName;
//setto la variabile di caricamento file a true
try
{
caricametoFile = true;
FileUpload1.PostedFile.SaveAs(nomeFile);
}
catch (Exception ex)
{
LabelErrore.Text = nomeFile;
LabelErrore.Text += " ";
LabelErrore.Text += ex.GetType();
}
}
p.s. grazie mille per il tempo che mi dedichi
rossimarko
Profilo
| Guru
1.173
messaggi | Data Invio:
mer 1 ott 2008 - 11:46
Sei riuscito a risolvere il problema dei permessi?
Per l'aggiornamento delle label dipende se sono dentro ad un updatePanel o meno e se è stato registrato correttamente il trigger...
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
muccio04
Profilo
| Newbie
33
messaggi | Data Invio:
mer 1 ott 2008 - 12:03
il problema dei permessi è strano, perche se faccio il salvataggio da comune fileUpload, me lo salva, se invece chiamo il metodo
InputFile1.MoveTo(Server.MapPath("public"), MoveToOptions.None);
del controllo fornito da NeatUpload mi lancia l'eccezzione di prima.
da notare che il caricamento avviene nella stessa cartella, quindi non ci dovrebbe essere il problema di permessi
qua sotto riporto l'altra parte del codice contenente il form:
<form id="form1" runat="server">
<asp:ScriptManager ID="scriptManager" runat="server"/>
<asp:UpdatePanel ID="updPnl1" runat="server">
<ContentTemplate>
<asp:Label ID="LabelDimensioneTotale" runat="server" Text="Label"></asp:Label><br /><br />
<asp:Label ID="LabelDimensioneCaricata" runat="server" Text="Label"></asp:Label><br /><br />
<asp:Label ID="LabelErrore" runat="server" Text="Label"></asp:Label><br /><br />
<asp:Timer ID="Timer1" Interval="3000" runat="server" OnTick="Timer1_Tick"/>
</ContentTemplate>
</asp:UpdatePanel>
<asp:FileUpload ID="FileUpload1" runat="server" /><br /><br />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</form>
rossimarko
Profilo
| Guru
1.173
messaggi | Data Invio:
mer 1 ott 2008 - 12:31
Ho visto che la funzione lato server era riferita ad un timer. Per aggiornare l'updatepanel ad ogni tick del timer devi inserire un trigger come riportato nel punto 13 di questa guida:
http://msdn.microsoft.com/it-it/library/bb386404.aspx
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
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 !