Vb 2005 gestione dei file

giovedì 17 settembre 2009 - 16.59

DomA Profilo | Expert

Ciao a tutti,
nella mia applicazione vorrei dare all'utente la possibilità di inserire dei file insieme ai dati digitati.
>>in pratica cio che mi serve e poter selezionare un file e salvarlo in una cartella predefinita.
Mi spiego meglio:
nell'anagrafe articoli, ad esempio, vorrei che l'utente possa per così dire allegare la scheda del prodotto e poi poterla aprire nell'applicazione originale (es acrobat reader per i pdf).

I miei problemi sono:
i) come fare a salvare il file, selezionato dall'utente, in una determinata cartella?
ii) come fare ad aprire il file allegato nell'applicazione predefinita?

>> Problema risolto. Grazie a tutti ,
Domenico

Pinky Profilo | Junior Member

Per fare l'upload dei file c'è <asp:FileUpload> che equivale all' <input type="file">.

Una volta inviato, il file allegato alla pagina viene salvato sul server (ad esempio se si ha un FileUpload con ID = "File1") con:
(codice NON testato):
string file = Server.MapPath("~/Public") + "\\" + File1.FileName;
File1.SaveAs(file);

Naturalmente con i try/catch del caso, verificando i permessi della cartella e le dimensioni dell'allegato (le impostazioni sulle dimensioni delle richieste/allegati sono in IIS, web.config ed a livello di pagina), se esiste già un file con lo stesso nome (mi pare venga silenziosamente sovrascritto) ecc...

Per far si che il file uploadato, e poi richiesto da un utente (perchè chiaramente NON si vuole eseguire l'allegato sul server) venga aperto con il programma più consono
si deve agire sul tipo MIMEimpostato nell header della response.
In pratica esistono dei tipi MIME (PDF = application/pdf, Excell = ..., Word = ...) che informano il browser (e quindi il sistema sottostante) che tipo di file/stream-dati si sta ricevendo.
Questo ad esempio permette ad un sito di poter dire al browser se ricevendo un PDF debba essere visualizzato con (se esiste) il plugin Acrobat Reader oppure debba essere direttamente richiesto il salvataggio del file.
E' il tipo MIME impostato sulla response è responsabile di questo.

Ciao
Alessandro
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5