사용자가 iCal 형식의 캘린더 항목을 다운로드 할 수있는 HTML5 앱을 만들었습니다. 이 iCals는 PHP를 사용하여 생성됩니다. 나의 접근 방식은 PHP를 사용하여 iCal 파일을 생성하고 웹 서버의 하드 디스크에 저장하는 것입니다. 그런 다음이 파일의 URL을 window.open()
명령을 사용하여 열 수 있도록 프런트 엔드 (JavaScript)로 전달합니다.사용자에게 공개 할 파일 제공
이 접근법은 점점 더 많은 파일이 하드 디스크에 생성된다는 단점이 있습니다. PHP iCal 생성기가 보낸 응답에 특정 헤더를 추가하여 다른 방법이 있어야한다는 것을 이해했습니다. 사실입니까?
나는이 헤더를 사용하여 시도 :
header('Content-type: application/force-download; charset=utf-8');
header('Content-Disposition: attachment; filename="eintrag.ics"');
직접 PHP 생성 파일을 호출, iCal의 파일이 제대로 열리지의 브라우저에 표시됩니다. 그러나 HTML5 앱에서 AJAX를 사용하여이 PHP 파일을 호출하면 아무 일도 발생하지 않습니다.
내가 뭘 잘못하고 있니?
건배
안녕 매트, 설명하는 첫 번째 접근 방식은 웹 서버에 두 개의 백엔드 호출과 ical 저장소를 생성하는 것입니다. 맞습니까? 따라서 나는 두 번째 것을 선호합니다. php에도 필요한 매개 변수를 전달할 수 있습니까? 방법? – AntonSack
@AntonSack은 그렇지 않습니다. 첫 번째 방법은 서버에 iCal 파일을 생성하고 새 iCal 파일의 URL을 검색 한 다음 해당 URL로 무언가를하는 것은 사용자의 몫입니다. 나는 가장 유연한 느낌을주는 하나의 접근 방식을 갖기 위해 나의 대답을 업데이트했다. 또한 PHP가 GET을 통해 액세스 할 수있는 더미 매개 변수를 추가했습니다. –
매트, 당신은 내 하루를 보냈습니다! 이것은 내가 찾고 있었던 바로 그 것이다! 엄청 고마워. 안타깝게도 내 평판은 당신의 대답에 투표하기에는 너무 낮습니다. : ( – AntonSack