本地pdf 转为二进制 放入new Blob()中
时间: 2024-12-08 11:17:36 浏览: 12
当你需要将本地 PDF 文件转换为二进制数据以便放入 `Blob` 对象中时,可以采用类似以下的步骤:
首先,确保你的应用程序有足够的文件操作权限。这通常意味着你需要用户授予读取文件的权限。以下是一个简单的例子,使用 JavaScript 的 `FileReader` API 来读取 PDF 文件并将其内容转换为二进制:
```javascript
function pdfToBinary(fileInput) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onloadend = function(e) {
try {
const binaryData = e.target.result; // 这里就是二进制数据
const blob = new Blob([binaryData], { type: 'application/pdf' });
resolve(blob); // 返回Blob对象
} catch (error) {
reject(error);
}
};
reader.readAsArrayBuffer(fileInput.files[0]); // 读取文件
});
}
// 使用示例
inputElement.addEventListener('change', async function() {
try {
const selectedFile = this.files[0];
const blob = await pdfToBinary(selectedFile);
console.log('PDF as Blob:', blob);
} catch (err) {
console.error('Error converting PDF to binary:', err);
}
});
```
在这个示例中,用户选择了一个 PDF 文件,`FileReader` 会读取文件内容,将其转换为 ArrayBuffer,然后再转换为 Blob 对象。`type` 属性设置了 Blob 的 MIME 类型,确保它被识别为 PDF。
阅读全文