Khi tôi chạy mã bên dưới từ trình duyệt trên máy tính để bàn, không có vấn đề gì.Tải xuống không thành công trên trình duyệt di động (Android) khi sử dụng cfheader và cfcontent trong Coldfusion
Tuy nhiên, khi tôi thử từ Android Chrome hoặc trình duyệt Android mặc định, tôi luôn nhận được thông báo "Tải xuống không thành công".
Code:
<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">
Tôi đã cố gắng sử dụng cả "text/lịch" và "application/octet-stream" cho các loại nội dung, và cả "nội tuyến" và "đính kèm" cho việc xử lý nội dung. Tôi cũng đã thử tên tệp có và không có dấu ngoặc kép ... tất cả đều không có kết quả.
Chúng tôi đang chạy Coldfusion 10 trên máy chủ IIS và chúng tôi đã thêm cấu hình này vào máy chủ để chúng tôi có thể tải xuống tệp .ics trực tiếp từ máy chủ ngay bây giờ. Tuy nhiên, chúng tôi muốn tạo một tệp sử dụng một cách linh hoạt và phân phối nó cho người dùng.
máy chủ IIS thiết lập:
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".ics" />
<mimeMap fileExtension=".ics" mimeType="application/octet-stream" />
</staticContent>
</system.webServer>
</configuration>
Sử dụng Remote Debugging của Chrome, tôi có thể thấy điều này qua đến như tiêu đề Phản hồi từ các mã trên. (Lưu ý: Tôi thấy rất nhiều người đặt cfheader đầu tiên, sau đó cfcontent ... nhưng nếu tôi làm theo thứ tự đó, việc bố trí nội dung không được truyền đi vì vậy tôi đã đặt cfcontent trước.)
Phản hồi Tiêu đề:
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
Tôi đã xóa Internet và điều gần nhất tôi tìm thấy là một câu hỏi xếp chồng khác với một số đề xuất nhưng không có câu trả lời được chấp nhận. Ngoài ra ... là một người dùng mới, tôi không thể bình luận về nó để hỏi nếu một câu trả lời đã được tìm thấy.
cfheader cfcontent Mobile Browser download unsuccessful
tôi đã cố gắng để cung cấp cho càng nhiều chi tiết mà tôi có thể nghĩ đến. Hãy cho tôi biết nếu có thêm thông tin sẽ hữu ích trong việc giải quyết sự kỳ quặc.
Như mọi khi, mọi trợ giúp sẽ được đánh giá cao.
Mã của bạn hoạt động trên CF9/IIS7 phục vụ cho Chrome trên Adroid 4.2.2. Tiêu đề phản hồi của bạn cho thấy bạn đang ở trên IIS6. Không có câu trả lời, nhưng linh cảm của tôi sẽ là vấn đề nằm ở đó. – CfSimplicity