Quando si esegue il codice di seguito da un browser desktop, non ci sono problemi.Download non riuscito sul browser mobile (Android) quando si utilizza cfheader e cfcontent in Coldfusion
Tuttavia, quando provo da Android Chrome o dal browser Android predefinito, ottengo sempre un messaggio "Scarica non riuscito".
Codice:
<cfsetting enablecfoutputonly="yes">
<cfcontent type="text/calendar" reset="Yes">
<cfheader name="Content-Disposition" value='inline; filename="newAppointment.ics"'>
<cfoutput>BEGIN:VCALENDAR
PRODID:-//Some organization//some application//EN
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
UID:[email protected]://localhost/www/
CREATED:20140925T072912Z
DTSTAMP:20140922T090500Z
DTSTART:20140922T090500Z
DTEND:20140922T100500Z
DESCRIPTION:Please attend this sample meeting
SUMMARY:Invitation to attend training
LOCATION:Earth
ATTENDEE;RSVP=TRUE:mailto:[email protected]
ORGANIZER;[email protected]:mailto:[email protected]
LAST-MODIFIED:20140925T072912Z
PRIORITY:5
SEQUENCE:0
STATUS:CONFIRMED
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR</cfoutput>
<cfsetting enablecfoutputonly="no">
Ho provato con entrambi "text/calendar" e "application/octet-stream" per il tipo di contenuto, ed entrambi "in linea" e "attaccamento" per la disposizione dei contenuti. Ho anche provato il nome del file con e senza virgolette ... tutto inutilmente.
Stiamo eseguendo Coldfusion 10 su un server IIS e abbiamo aggiunto questa configurazione al server in modo da poter scaricare un file .ics direttamente dal server. Tuttavia, vogliamo generare un file monouso in modo dinamico e servirlo all'utente. impostazione del server
IIS:
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".ics" />
<mimeMap fileExtension=".ics" mimeType="application/octet-stream" />
</staticContent>
</system.webServer>
</configuration>
Utilizzando il debug remoto di Chrome, posso vedere questo venire attraverso come intestazione di risposta dal codice di cui sopra. (Nota: vedo un sacco di persone che mettono cfheader prima, quindi cfcontent ... ma se seguo questo ordine, la disposizione del contenuto non viene passata così ho messo prima cfcontent.)
Intestazione di risposta:
HTTP/1.1 200 OK
Connection: close
Date: Fri, 05 Sep 2014 21:31:31 GMT
Server: Microsoft-IIS/6.0
P3P: CP='NOI DSP COR LAW NID CUR ADMa OUR DELa IND PHY ONL UNI PUR COM NAV STA'
Vary: Accept-Encoding,User-Agent
Content-Disposition: inline; filename="newAppointment.ics"
Content-Type: text/calendar;charset=UTF-8
Ho setacciato Internet e la cosa più vicina che ho trovato era un'altra domanda di stackoverflow con alcuni suggerimenti ma nessuna risposta accettata. Inoltre ... essendo un nuovo utente, non posso commentare per chiedere se è stata trovata una risposta.
cfheader cfcontent Mobile Browser download unsuccessful
ho cercato di dare il maggior numero di dettagli che mi viene in mente. Fammi sapere se ulteriori informazioni sarebbero utili per risolvere la stranezza.
Come sempre, qualsiasi aiuto sarebbe molto apprezzato.
Il tuo codice funziona su CF9/IIS7 servire a Chrome su Adroid 4.2.2. L'intestazione della tua risposta suggerisce che sei su IIS6. Non ho una risposta, ma la mia impressione sarebbe che questo è il problema. – CfSimplicity