2014-09-05 11 views
6

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.

+0

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

Odpowiedz

0

Spróbuj zmienić ten od "inline" do "attachment"

<cfheader name="Content-Disposition" value='inline; filename="newAppointment.ics"'> 

<cfheader name="Content-Disposition" value="attachment; filename=""newAppointment.ics"""> 
Powiązane problemy