1

Facebook 캔버스에서 실행되는 Rails 앱에서 로그인 한 사용자가 문서를 작성한 다음 다운로드 할 수있는 워크 플로우가 있습니다.Rails Facebook 캔버스 앱에서 파일 다운로드를 시작하는 링크를 추가하는 방법

파일이 준비되면 링크가 표시됩니다. 이것은 제작 과정에서 dev 또는 head (적절한 NGINX 설정 포함)의 send_file을 사용하여 렌더링하는 Rails 작업입니다. 이 부분은 잘 작동합니다.

새 브라우저 탭을 열지 않고 파일 다운로드를 시작하려면 링크가 빈 iframe을 대상으로 지정해야합니다.

이것은 작동했지만 잠시 후, 페이스 북의 보안 변경으로 인해 링크가 작동하지 않게되었습니다. 자바 스크립트 오류 표시 :

X-Frame-Options로 금지 된 표시 때문에 문서 표시를 거부했습니다.

사용자는 여전히 새 탭에서 링크를 열 수 있으며 파일 및 빠른 수정 링크를 클릭하면 브라우저에서 새 탭을 열 수 있도록하는 것입니다 다운로드합니다,하지만 사용자 경험의 좋은하지 않습니다.

헤더 및/또는 메타 태그를 사용하여 X 프레임 옵션을 변경해 보았지만 캔버스 (iframe에서 실행 중)이므로 표시가 중단되었습니다.

나는 또한 form solution을 시도했지만 아무 것도하지 않았다. (내가 잘못했을 수도있다.)

새 브라우저 탭을 열지 않고 파일 다운로드를 시작하는 버튼이나 링크를 만들 수있는 방법이 있습니까?

답변

1

대상을 모두 설정해야합니까? 대상을 설정하지 않으면 브라우저에서 파일 다운로드 팝업이 표시되지 않지만 현재 브라우저 창/탭은 같은 내용으로 유지됩니까?

+0

솔루션이 좀 더 복잡했지만 실제로 이것이 나를 올바른 길로 인도했습니다. 다운로드 캔버스 페이지에 링크하는 대신 다운로드 경로 (페이스 북 캔버스 없음)에 직접 링크됩니다. 그런 다음 모든 보안 기능을 제거했습니다 (테스트 용). 물론, 목표는 없습니다. 이제 해시 매개 변수를 사용하여 새 보안을 추가해야하지만 작동해야합니다. 감사. – gerry3

+0

한 가지 단점은 - 우리가 확인해도된다는 것입니다. 이제는 파일을 다운로드하는 사용자가 파일을 다운로드 한 사용자임을 더 이상 확인할 수 없다는 것입니다 (이제 보안은 링크 자체에 있기 때문에). – gerry3