2010-01-29 14 views
10

Sto provando a caricare un file ics sul mio sito. È stato esportato da iCal su Mac OSX. Ho pensato che i file ics avessero un tipo mime di text/calendar, ma per qualche motivo questo file sembra essere di tipo Application/octet-stream. Ciò rende il caricamento fallire i miei test di verifica. Qualcuno ha qualche idea del perché il tipo non è quello che mi aspetto ?!ics file mime type

+0

Quale set di caratteri stai utilizzando? –

risposta

6

Il tipo MIME è determinato dal browser e, apparentemente, il browser non conosce il tipo MIME corretto per un file ics. Non importa, basta saltare il controllo MIME e fare qualche analisi strutturale (c'è un'intestazione valida, sono presenti record di calendario, ecc.)

Il tipo MIME è di uso molto limitato per la convalida comunque, in quanto può essere liberamente modificato dal cliente.

+0

amico, hai appena detto che è determinato dal browser ma che può essere modificato liberamente dal client - che è? – jckdnk111

+0

Grazie per quello. Utilizzerò sicuramente un processo di verifica diverso. Tuttavia, sono ancora un po 'confuso. Se apro il file direttamente nella finestra del browser, visualizza correttamente i contenuti. – musoNic80

+3

@jckdnk: è determinato dal browser (= client). Può essere falsificato (= liberamente modificato) da un utente malintenzionato che simula un browser. Cosa non ti è chiaro? –

7

Prova ad aggiungere un content-type di text/calendar all'intestazione. Se stai semplicemente servendo da Apache puoi cercare istruzioni qui: http://httpd.apache.org/docs/1.3/mod/mod_mime.html

+1

Sta provando a * caricare * un file ics. –

+0

ahh, mancate quello, mi dispiace. – jckdnk111

+2

Ironia della sorte, questa risposta è utile per le persone come me che hanno cercato il termine sbagliato, ma ha ottenuto la risposta corretta a causa della sua assunzione. +1 – QuickDanger

1

Aggiungerò i miei due centesimi. I browser in generale guardano le intestazioni che il server invia loro per determinare il tipo MIME. Se nessun tipo MIME viene inviato dal server, un buon browser lo indovina, generalmente non lo fanno. Il link ai documenti di apache sopra postato da jckdnk111 è una buona risorsa.

Problemi correlati