Domanda

Riguarda l'applicazione WPF che genera rapporti.

I report hanno una struttura semplice: byte [] m_Data, stringa m_Mime.

L'array di dati viene creato, il tipo mime è impostato, ora ciò di cui ho bisogno è visualizzare la finestra di dialogo con la stessa funzionalità che troviamo nella finestra di dialogo Apri / Salva / Annulla dei browser Web che apre il file nell'applicazione appropriata in base al tipo MIME della risposta.

È stato utile?

Soluzione

WPF non ha una finestra di dialogo simile perché non è un'applicazione Web, è un'applicazione eseguita localmente e utilizza le strutture native del sistema operativo non HTTP.

Dovrebbe essere facile scrivere per scrivere la finestra di dialogo Apri / Salva / Annulla stessa, al fine di implementare la funzionalità di apertura è necessario salvare il file su disco (magari nella directory temporanea restituita da System.IO.Path.GetTempPath o al nome del file restituito da System.IO.Path.GetTempFileName).

Assicurati che il file abbia l'estensione giusta perché Windows usa estensioni di file e non tipi mime (perché i tipi mime non esistevano quando scrivevano Windows).

Per aprire il file appena creato utilizzare System.Diagnostic.Process.Start, ad esempio questo aprirà il file MyPdfFile.pfd nel lettore Acrobat se installato (dalla directory corrente, non dimenticare di includere il percorso completo nel tuo codice):

System.Diagnostics.Process.Start("MyPdfFile.pdf");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top