아래의 코드를 데스크탑 브라우저에서 실행할 때 아무런 문제가 없습니다.ColdFusion에서 cfheader 및 cfcontent를 사용할 때 모바일 브라우저 (안드로이드)에서 성공적으로 다운로드되지 않습니다.
그러나 Android Chrome 또는 기본 Android 브라우저에서 시험해 볼 때 항상 "다운로드 실패"메시지가 표시됩니다.
코드 :
나는 "텍스트/달력"콘텐츠 유형에 대한 "응용 프로그램/octet-stream을"모두를 사용하여 시도<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">
하고, "인라인"및 콘텐츠 처분 "첨부 파일"둘 다. 나는 따옴표를 붙이고 따옴표없이 파일 이름을 시도했다.
우리는 IIS 서버에서 Coldfusion 10을 실행 중이며이 구성을 서버에 추가하여 서버에서 .ics 파일을 직접 다운로드 할 수 있습니다. 그러나 우리는 하나의 사용 파일을 동적으로 생성하여 사용자에게 제공하려고합니다.
IIS 서버 설정 : 크롬의 원격 디버깅을 사용
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".ics" />
<mimeMap fileExtension=".ics" mimeType="application/octet-stream" />
</staticContent>
</system.webServer>
</configuration>
는,이 위의 코드에서 응답 헤더로를 통해 오는 것을 볼 수 있습니다. (참고 : 많은 사람들이 먼저 cfheader를 넣은 다음 cfcontent를 넣는 것을 봅니다. 그러나 그 순서를 따르는 경우 내용 처리가 전달되지 않으므로 먼저 cfcontent를 넣었습니다.)
응답 헤더 :
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
나는 인터넷을 샅샅이 뒤졌으며, 가장 가까운 것은 몇 가지 제안이 있지만 받아 들여지지 않은 또 다른 stackoverflow 질문이었다. 또한 ... 새 사용자가 되어도 답변을 찾을 수 있는지 물어볼 수는 없습니다.
cfheader cfcontent Mobile Browser download unsuccessful
나는 내가 생각할 수있는 많은 정보를 제공하기 위해 노력했다. 더 많은 정보가 이상한 점을 해결하는 데 도움이되는지 알려주십시오.항상 그렇듯이 도움을 주시면 대단히 감사하겠습니다.
귀하의 코드는 Adroid 4.2.2 Chrome에 제공 CF9/IIS7에서 작동 "인라인"에서이를 변경해보십시오. 응답 헤더는 IIS6에 있음을 나타냅니다. 대답은 없지만 내 직감은 그것이 문제가되는 곳입니다. – CfSimplicity