클립 보드에서 이미지를 복사하여 붙여 넣으려고하는데 크롬에서이 오류 메시지가 나타납니다. 뭐가 잘못 되었 니?클립 보드에서 이미지 복사 및 붙여 넣기, blob 오류
오류
Uncaught TypeError: Failed to execute 'readAsDataURL' on 'FileReader': The argument is not a Blob.
JS
$(function() {
$("body").bind("paste", function(ev) {
var $this = $(this);
var original = ev.originalEvent;
var file = original.clipboardData.items[0].getAsFile();
var reader = new FileReader();
reader.onload = function (evt) {
var result = evt.target.result;
var arr = result.split(",");
var data = arr[1]; // raw base64
var contentType = arr[0].split(";")[0].split(":")[1];
// this needs to post to a server route that can accept raw base64 content and save to a file
$.post("/echo/html/", {
contentType: contentType,
data: data
});
$this.append("<img src='" + result + "' />");
};
reader.readAsDataURL(file);
});
});
고마워요, 이것 역시 제가 알아 내려고하는 것입니다. 저는 FileReader를 사용하여 사용자가 그림을 양식에 추가하고 업로드하기 전에이를 볼 수있게했습니다. 데이터베이스에 저장하면 업로드하기 전에 미리 볼 수 있도록하는 목적을 상실합니다. 나는 Ajax를 대신 사용해보아야한다고 생각 하는가? 아니면 미리보기를 허용하기 위해 Ajax를 사용하는 것이 허용 가능한가? – mario
@ gv0029 이미지를 미리 볼 필요가 있습니까? 그렇지 않고 일반 mysql 데이터베이스 만 사용하고 있다면 코드를 공유 할 의향이 있습니다. 미리보기는 일을 복잡하게하므로 절대적으로 필요한 것이 아니라면 모든 것이 훨씬 쉽습니다. – copilot0910
감사합니다. 불행히도 예, 그렇습니다. 나는 그것을 모두 똑같이 고맙다! – mario