레일즈 3.2 앱에서 다음 javascript를 사용하여 캔버스에서 Base64로 변환 한 하이 차트 차트가 있습니다.base64에서 레일 3에서 앱을 저장하지 않고 서버에 저장하지 않음
canvg(document.getElementById('chart'), chart.getSVG())
var canvas = document.getElementById("chart");
var img = canvas.toDataURL("image/png");
document.write('<img src="'+img+'"/>');
는 지금, 나는 이미지 파일로 해당 이미지를 디코딩 할. 그러나 나는 페이스 북에서 공유하는 유일한 목적이기 때문에 서버에 저장하고 싶지 않습니다. 다음 두 옵션이 표시됩니다.
- 데이터를 img
에서 서버로 다시 보낸 다음이를 임시 폴더에 저장된 이미지로 변환하고보기로 렌더링합니다.
-javascript를 사용하여 Base64를 PNG 파일로 디코딩하고 새 창에서 엽니 다.
어떤 방향으로하고 어떻게 구현해야합니까? 나는 몇 시간 동안 봤는데 내가 필요한 부분을 한 몇 가지 예제를 발견했지만, 전체 이야기를 찾을 수 없습니다.
이 솔루션은 매우 유망한 듯하지만 내 이미지는 GET 요청을 사용하기에 너무 크고 POST 요청을 사용하는 나의 시도가 실패 그래서 자바 스크립트에 익숙하지 않다 :
Convert canvas to image and open in new window using ruby on rails and javascript
편집 : 또 다른 잠재적 인 해결책으로, 이미지와 링크를 자동으로 반환하는 base64 문자열을 보낼 수있는 웹 도구가 있습니까? 한마디로
질문을 완벽하게 이해했습니다. 이미지의 유일한 목적은 페이스 북에 게시 될 때 페이스 북이 이미지를 표시 할 수 있도록 페이지의 PNG 이미지와 연결되는 것입니다. 그런 다음 서버의 임시 폴더에서 이미지를 삭제하면됩니다. AJAX POST 요청 또는 JQuery 코드 예제를 제공 할 수 있습니까? 나도 익숙하지 않다. (JQuery가 설치되어있다.) 감사! – kevin1
내 대답이 업데이트되었습니다. FB가 이미지를 캐시하고 그것을 지킬 필요가 없다고 확신합니까? –
고마워, 나는 그것을 밖으로 시도 할 것이다. (이제 필자는 Rails 응용 프로그램의 tmp 폴더에 파일을 저장하는 방법을 알아야합니다! 레일스는 아직 비교적 익숙하지 않습니다. FB는 내가 읽은 이미지를 캐시에 저장합니다. 사람들이 불만을 나타낼 때 그들은 새로운 이미지로 바꾸고 싶다. 나를 위해 캐싱이 좋습니다! – kevin1