Skip to content

Forum

Please or Register to create posts and topics.

WPF - C# Chiudere un file per trasferirlo in un'altra cartella

In un metodo di una applicazione WPF, richiedo all'utente di selezionare un file PDF per poterlo visualizzare in prima istanza all'interno di un controllo WebBrowser. Dopo la selezione del file, l'utente conferma la correttezza dei dati inseriti e del file selezionato in modo che un apposito metodo possa scrivere queste informazioni in un record di una tabella SQL Server. Inoltre il file PDF precedentemente selezionato deve essere trasferito dalla cartella sorgente ad una specifica cartella di destinazione all'interno della quale sono archiviati tutti i file oggetto di questo processo. Nel fare tutto ciò, il sistema rileva un'eccezione perché quando utilizzo l'istruzione File.Move(sourcePath, targetPath) il file che richiedo di spostare risulta aperto perché visualizzato nel Web browser. Questo errore è prevedibile, ma mi impedisce di far vedere all'utente il file PDF prima del suo spostamento dalla cartella di destinazione e quindi la domanda mia è…

Come posso visualizzare il file PDF e chiuderlo subito dopo, in modo da poter invocare il metodo Move senza problemi?

Grazie per eventuali aiuti al riguardo.

Allego uno stralcio del codice sorgente…

Uploaded files:
  • You need to login to have access to uploads.

Per averlo già passato prima di te, hai due possibilità:

  1. copia il file originale in un file temporaneo e carica quello sul webbrowser poi sposta il file origine.
  2. leggi il file in un byte array e carica quello sul webbrowser (anche se non sono sicura che il webbrowser permetta di usare un byte array come source)

Io personalmente ho seguito da subito la strada 3 (usa un componente fatto bene, nel mio caso il PDFViewer di Syncfusion).

saluti