share api 문의
본문
share api를 통해 이미지를 공유하고 싶습니다.
2.0부터 파일쉐어가 가능한것으로 알고있으며, 해당경우 업로드되는 파일 쉐어로 이미지를 파일 형태로 변경해서 공유하는 기능을 구현중입니다.
Blob 형태로 구현중인데 잘 동작하지 않네요. 아래 코드에서 file, blob 출력시 true로 출력하며, 실제 이미지주소로 이미지는 이상없는것으로 확인했습니다.
문제는 Blob으로 변경된 이미지가 공유시 제대로 노출되지 않습니다. 파일은 있으나 이미지가 깨진(?) 제대로 노출되지 않는 형태로 보아 변환에 문제가 있는것 같은데 도움을 요청드립니다.
<script>
img_url = $(".img").attr("src");
let img_file = img_to_blob(img_url );
var blob = new Blob(["This is the sample data"],
{type : "image/jpeg"});
const file = new File([blob], imgUrl, {
type: blob.type,
});
console.log(file instanceof File); //true
console.log(file instanceof Blob); //true
console.log(file);
let filesArray = [];
filesArray.push(file);
if (navigator.canShare && navigator.canShare({ files: filesArray })) {
var webUrl = location.protocol+"<?php echo '//'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>";
navigator.share({
files: filesArray,
title: "<?php echo str_replace(array('%27', '"' , '\"'), '', strip_tags($view['subject'])); ?>",
text: "<?php echo preg_replace('/\r\n|\r|\n/','', strip_tags(get_text(cut_str(strip_tags($view['content']), 200), 1))); ?>",
url: webUrl,
})
.then(() => console.log('Share Success'))
.catch((error) => console.log('Share Fail', error));
}else{
alert('Share API is not working');
}
</script>
!-->
답변 1
이것은 찾아봐도 좀 어렵네요. 그래서 답변이 없겠지만..
디버깅을 해 보면 어떨까요?
1. 샘플 이미지를 준비합니다.
2. blob로 변경된 파일을 직접 테스트 html로 로컬에서 보이는지 테스트해 본다.
이미지가 제대로 보인다면 blob와 file 함수가 제대로 동작된 것이겠죠..
아니면 그외의 다른쪽을 체크해 봐야 될 것 같습니다
답변을 작성하시기 전에 로그인 해주세요.