C'è un modo per ottenere il tipo MIME di un file utilizzando alcune chiamate di sistema su Windows? Sto scrivendo un'estensione IIS in C++, quindi deve essere richiamabile da C++, e ho accesso a IIS se c'è qualche funzionalità esposta. Ovviamente, IIS deve essere in grado di farlo, ma il mio googling non è stato in grado di scoprire come. Ho trovato la domanda relativa this .net qui su SO, ma questo non mi dà molte speranze (in quanto né una buona soluzione né una soluzione C++ sono menzionate lì).Ricerca di un tipo MIME per un file su Windows
Ne ho bisogno in modo che possa servire file dinamici utilizzando il tipo di contenuto appropriato dalla mia app. Il mio piano è di consultare prima un elenco di tipi MIME all'interno della mia app, quindi tornare all'elenco del tipo MIME del sistema (tuttavia funziona, ovviamente esiste perché è come associ i file ai programmi). In alcuni casi ho solo un'estensione di file con cui lavorare, ma in altri casi potrei avere un vero file su disco da esaminare. Dal momento che questi file non saranno caricati dall'utente, credo di potermi fidare dell'estensione e preferirei una soluzione di ricerca solo per l'estensione poiché sembra più semplice e veloce. Grazie!
La tua ipotesi è corretta: su Windows, l'associazione tra le estensioni e programmi non fa uso di tipi MIME. Nel registro, ogni estensione è associata a una voce descrittiva e ha un valore '\ Shell \ Open \ Command \'. Questo riferimento indiretto consente a due estensioni di condividere una voce descrittiva, ad es. '.jpeg' e' .jpg' condividono la voce descrittiva 'jpegfile' – MSalters
MSalters, potrei giurare che in XP, la finestra di dialogo di associazione file avesse un posto in esso per il tipo MIME ... ma qui su Win Server 2k8, nel La finestra di dialogo "Programmi predefiniti" sembra essere proprio come dici tu ... non mi è utile :( – rmeador