1. Base64 文字列を BLOB オブジェクトに変換します。
function convertBase64ToBlob(base64Str) {
// 将base64字符串转为二进制数据
const byteCharacters = atob(base64Str);
// 创建Blob对象
const blob = new Blob([byteCharacters], {
type: 'application/octet-stream' });
return blob;
}
2. BLOB オブジェクトをファイル オブジェクトに変換します。
function convertBlobToFile(blob, fileName) {
// 创建File对象
const file = new File([blob], fileName, {
type: blob.type });
return file;
}
注記:
convertBase64ToBlob
このメソッドは、base64 文字列を BLOB オブジェクトに変換し、atob メソッドを使用して Base64 文字列をバイナリ データに変換し、次に Blob コンストラクターを使用して Blob オブジェクトを作成し、ファイルの種類を指定しますapplication/octet-stream
。convertBlobToFile
このメソッドは、BLOB オブジェクトをファイル オブジェクトに変換し、File コンストラクターを使用して File オブジェクトを作成します。
3. 使用例:
サンプル コードは、base64 画像文字列をファイル オブジェクトに変換する例を示しています。
const base64Str = 'data:image/png;base64,iVBORw0KG...'; // 用实际的base64字符串替换
const fileName = 'image.png';
const blob = convertBase64ToBlob(base64Str);
const file = convertBlobToFile(blob, fileName);
console.log(file);
出力結果:
File(85) {
name: "image.png", lastModified: 1632490063760, lastModifiedDate: Tue Sep 24 2021 16:07:43 GMT+0800 (中国标准时间), webkitRelativePath: "", size: 85, …}