我正在使用ilovepdf压缩在客户端上传的pdf文件。我得到压缩文件的内容作为响应。
理想情况下,我想要的是-:
但是,似乎禁止在客户端(浏览器)读取/写入包含内容的文件。因此,以上无法实现。 我还尝试仅将压缩文件内容附加到DOM元素,然后使用formdata提交到后端,但是,当我保存后端接收到内容的文件时,发现文件损坏或无法打开。>
触发以下代码,以便从ilovepdf服务器下载并上传到我的服务器。
function downloadPDF() {
$.ajax({
type: 'GET',
headers: {
'Authorization': 'Bearer ' + token
},
url: "https://" + server + "/v1/download/" + task,
success: function(response) {
var form = new FormData();
form.append("file", response);
$.ajax({
type: 'POST',
url: "/properties/compressed",
processData: false,
contentType: false,
data: form,
success: function(response) {
console.log("sent to server")
}
});
}
});
}
答案 0 :(得分:0)
您可以使用 wicked_pdf gem从服务器生成PDF,并在base64中对其进行编码,然后将base64编码的字符串返回给客户端服务器,并且在客户端服务器上,您可以使用此代码下载PDF:
window.downloadPDF = function downloadPDF() {
var dlnk = document.getElementById('dwnldLnk');
dlnk.href = pdf; <this would be your return encoded string in response>
dlnk.click();
alert('toma');
}