35 messaggi dal 06 ottobre 2007
Salve a tutti,
ho dei problemi ad estrapolare il percorso del file, mi memorizza solo il nome del file e non il suo percorso, quindi mi ritorna sempre errore perchè non trova il file.

Ho usato FileUpload (con id=FUPathFile) per far scegliere all'utente il percorso del file e ho creato un Button con una funzione C# che dovrebbe assegnare il percorso del file.

protected void BAggiungi_Click(object sender, EventArgs e)
{
HyperLinkWord.Text = FUPathFile.PostedFile.FileName;
}

Purtroppo cosi mi assegna solo il nome del file e non il percorso.


Qualcuno saprebbe dirmi dov'è l'inghippo o come farlo in altro modo?

La cosa strana è che ad un mio amico funziona e ha fatto la stessa cosa.

Help!
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Che cosa significa la tua frase:

mi memorizza solo il
nome del file e non il suo percorso, quindi mi ritorna sempre errore perchè non trova il file.

Il file con il fileupload dev'essere preso dallo stream di FileUpload, NON preso direttamente con il percorso del file visto che potresti accedere solo alle risorse del server (solo in teoria per fortuna).
Ciao
.
35 messaggi dal 06 ottobre 2007
Ciao...

Ho scoperto dove sta l'inghippo.

Praticamente Mozilla Firefox prende solo il nome del file e non il suo percorso, mentre Explorer funziona bene, prende il percorso del file, per questo al mio amico funzionava e a me no.... io usavo firefoy lui explorer...

Intendo dire che MOzilla dopo che faccio sfoglia per cercare il file da inviare e poi clicco sul bottone che assegna il percorso all'Attachment mi prende solo il nome del file.

Se il file si chiama mioFile.txt allora mozilla non trova il file tornando un errore che non trova il file nella destinazione mioFile.txt perchè il file si trova ad esempio in C:\mioFile.txt.

Mentre Explorer trova il file perchè con il Botton_onclick assegna il percorso del file Esempio C:\mioFile.txt se il file si trova nel disco C:\....

Potresti indicarmi il codice esatto che prova come mi dici...
Grazie per la risposta....
ciao
Modificato da selecthelp il 05 aprile 2008 00.02 -
35 messaggi dal 06 ottobre 2007
Per capire cosa voglio fare visita la pagina

www.oracolo.ch/upload.apsx

Qui vedrai che ho usato ora una tecnica poco elegante.

Ossia visto che firefox non funziona come explorer, ho usato una textbox dove l'utente dopo che sfoglia e trova il file deve copiarlo e incollarlo nella textbox e con un botton_onclick assegna il nome del percorso al Attachment per l'invio email.

Purtroppo come detto è troppo macchinoso...

protected void ButtonInvia_Click(object sender, EventArgs e)
{
MailMessage MailDamire = new MailMessage();
MailDamire.From = new MailAddress("miamail@miamail.ch", "MioNome");
MailDamire.To.Add(new MailAddress("miamail@miamail.ch"));
MailDamire.Subject = "oracolo";
MailDamire.SubjectEncoding = System.Text.Encoding.UTF8;
MailDamire.Body = LabelOggetto.Text + (char)9 + TextBoxOggetto.Text + (char)13 + (char)13
+ LabelTesto.Text + (char)9 + TextBoxTesto.Text + (char)13 + (char)13;
MailDamire.BodyEncoding = System.Text.Encoding.UTF8;
MailDamire.IsBodyHtml = false;
SmtpClient mySmtpClient = new SmtpClient("miamail.server.ch");
mySmtpClient.UseDefaultCredentials = false;
System.Net.NetworkCredential basicAuthenticationInfo = new System.Net.NetworkCredential("miamail@miamail.ch", "password");
mySmtpClient.Credentials = basicAuthenticationInfo;

______________________________________________________________

Qui aggiungo il file per l'invio

if (HyperLinkWord.Text != "")
{
Attachment at = new Attachment(HyperLinkWord.Text);
MailDamire.Attachments.Add(at);
}
mySmtpClient.Send(MailDamire);

LabelSuccesso.Text = "Allegato inviato con successo. Grazie.";
}



protected void BAggiungi_Click(object sender, EventArgs e)
{
//per ora uso questa textBox
HyperLinkWord.Text = TBPath.Text;

//perche questo non va . uplTheFile è la casella di sfoglia...
//HyperLinkWord.Text = uplTheFile.PostedFile.FileName;
}

Modificato da selecthelp il 05 aprile 2008 00.12 -
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Scusa se insisto, ma è completamente sbagliato l'approccio!

Quando un utente utilizza il file di upload, che ci sia il percorso completo o meno da dove l'ha preso, non dev'essere un problema visto che non te ne devi fare nulla dello stesso!

Devi prendere lo stream inviato, salvarlo in una directory del server, quindi, come nel tuo caso, quando crei la mail con l'attachment, includi il file dal TUO percorso sul server! Altrimenti dovrai andare sulla fiducia che un utente inserisca il persocorso corretto del file.

Leggi questo breve tutorial a riguardo:
http://www.15seconds.com/Issue/061116.htm

Ciao
35 messaggi dal 06 ottobre 2007
Ciao, ho visto il link che mi hai dato, peccato che sia in visual basic e non C#.

Cmq sia proverò a combinare qcl con questo script riscrivendolo in C#...


<script runat="server">
Protected Sub btnFileUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs)
If myFileUpload.HasFile Then
myFileUpload.SaveAs(Server.MapPath("uploads/" & myFileUpload.FileName))
End If
End Sub
</script>


Grazie.
35 messaggi dal 06 ottobre 2007
MI sfugge una cosa...
Devi prendere lo stream inviato
Come lo prendo lo stream??

Ho provato una cosa... ho messo un file nel server e ho provato ad inviare quello dandogli già il percorso nel C# ma neanche li lo trova...

Lo cerca nel cartella del server C:\Programmi\Microsoft Visual Studio 9.0\Common7\IDE..........alla quale io non posso accedere.....
Modificato da selecthelp il 05 aprile 2008 18.21 -
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
selecthelp wrote:
Ciao, ho visto il link che mi hai dato, peccato che sia in visual basic e non C#.

http://www.carlosag.net/Tools/CodeTranslator/Default.aspx

Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.