怎么通过传本地路径获取文件的base64数据
时间: 2023-10-06 12:13:49 浏览: 44
你可以通过以下代码实现:
```javascript
function getBase64FromFile(filePath) {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.open('GET', filePath, true);
xhr.responseType = 'blob';
xhr.onload = function() {
if (this.status === 200) {
const blob = this.response;
const reader = new FileReader();
reader.readAsDataURL(blob);
reader.onloadend = function() {
const base64Data = reader.result;
resolve(base64Data);
}
} else {
reject(new Error('Failed to retrieve file'));
}
};
xhr.send();
});
}
```
使用方法:
```javascript
getBase64FromFile('path/to/file')
.then(base64Data => {
console.log(base64Data);
})
.catch(error => {
console.error(error);
});
```
这里使用XMLHttpRequest来获取文件,然后将Blob数据转换成base64数据。注意,使用这种方法获取本地文件需要保证文件路径正确,并且需要在服务器环境中运行。在本地测试时会因为跨域问题导致失败。