2014-09-05 1 views
6

아래의 코드를 데스크탑 브라우저에서 실행할 때 아무런 문제가 없습니다.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

나는 내가 생각할 수있는 많은 정보를 제공하기 위해 노력했다. 더 많은 정보가 이상한 점을 해결하는 데 도움이되는지 알려주십시오.

항상 그렇듯이 도움을 주시면 대단히 감사하겠습니다.

+0

귀하의 코드는 Adroid 4.2.2 Chrome에 제공 CF9/IIS7에서 작동 "인라인"에서이를 변경해보십시오. 응답 헤더는 IIS6에 있음을 나타냅니다. 대답은 없지만 내 직감은 그것이 문제가되는 곳입니다. – CfSimplicity

답변

0

에 "첨부 파일"

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

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