Po uruchomieniu kodu poniżej z poziomu przeglądarki na komputerze nie ma problemu.Pobieranie nie powiodło się w przeglądarce mobilnej (Android) podczas używania cfheader i cfcontent w Coldfusion
Jednak gdy próbuję go z Androidem Chrome lub domyślną przeglądarką systemu Android, zawsze otrzymuję komunikat "Pobierz niepomyślnie".
Kod:
<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">
Próbowałem przy użyciu zarówno "text/Kalendarz" i "application/octet-stream" dla typu zawartości, i zarówno "inline" i "przywiązanie" do dyspozycji zawartości. Próbowałem również nazwy pliku zi bez cudzysłowów ... wszystko bezskutecznie.
Używamy Coldfusion 10 na serwerze IIS, a my dodaliśmy tę konfigurację do serwera, abyśmy mogli pobrać plik .ics bezpośrednio z serwera. Chcemy jednak dynamicznie wygenerować plik jednorazowego użytku i udostępnić go użytkownikowi. Ustawienie serwera
IIS:
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".ics" />
<mimeMap fileExtension=".ics" mimeType="application/octet-stream" />
</staticContent>
</system.webServer>
</configuration>
Korzystanie zdalne debugowanie Chrome, widzę to nadchodzi jako nagłówek odpowiedzi z powyższym kodzie. (Uwaga: widzę, jak wiele osób najpierw umieszcza cefheader, a następnie cfcontent ... ale jeśli wykonam to polecenie, dyspozycja zawartości nie zostanie przekazana, więc najpierw dodałem cfcontent.)
Nagłówek odpowiedzi:
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
Przeszukałem internet, a najbliższą rzeczą, którą znalazłem, było kolejne pytanie o stackoverflow z kilkoma sugestiami, ale bez akceptowanej odpowiedzi. Ponadto ... będąc nowym użytkownikiem, nie mogę go skomentować, aby zapytać, czy znaleziono odpowiedź.
cfheader cfcontent Mobile Browser download unsuccessful
starałem się dać jak najwięcej szczegółów, że mogę myśleć. Daj mi znać, jeśli więcej informacji może być pomocnych w rozwiązaniu problemu.
Jak zawsze, każda pomoc będzie bardzo ceniona.
Twój kod działa na CF9/IIS7 służący do Chrome na Adroid 4.2.2. Twój nagłówek odpowiedzi sugeruje, że jesteś na IIS6. Nie mam odpowiedzi, ale moje przeczucie byłoby właśnie w tym tkwi problem. – CfSimplicity