이 기사에서는 PHP에 대한 관련 지식을 제공합니다. 주로 Base64, Blob 및 File이 서로 변환되는 방법에 대해 설명합니다. 관심 있는 친구들은 아래를 살펴보시면 모두에게 도움이 되길 바랍니다.
서문
사진을 받다가 포맷을 변환해야 하는 상황이 생겨서 녹화해서 공유하게 되었습니다.
Text
1. 형식에 대한 기본 소개
Base64
Base64는 인터넷에서 8Bit 바이트코드를 전송하는 가장 일반적인 인코딩 방법 중 하나입니다. . 인쇄 가능한 문자로 이진 데이터를 나타내는 방법
예를 들어
Blob
객체는 불변의 원본 데이터 파일을 나타냅니다. 객체 같은. 해당 데이터는 텍스트 또는 바이너리 형식으로 읽거나 데이터 작업을 위해 ReadableStream
으로 변환할 수 있습니다. Blob 문서 항목Blob
对象表示一个不可变、原始数据的类文件对象。它的数据可以按文本或二进制的格式进行读取,也可以转换成 ReadableStream
来用于数据操作。 Blob文档入口
举个例子
File
文件(File
)接口提供有关文件的信息,并允许网页中的 JavaScript 访问其内容。 File文档入口
举个例子
就不过多介绍了,主要来讲如果转换。
1.判断是否为Base64字符串
// 判断是否为base64格式字符串 function isBase64(str) { //正则表达式判断 var reg = /^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*?)\s*$/i; return reg.test(str) //返回 true or false }
2.判断是否为Blob对象
console.log(data instanceof Blob) //ture or false
3.判断是否为File对象
console.log(data instanceof File && !data instanceof Blob) //ture or false
PS:
Blob和File都用instanceof来判断是否为对应类型数据
有一点需要注意,File对象也是Blob对象 ,因为File继承于Blob,所以其中的判断逻辑可以自己定义
三、格式之间的转换
1.Base64转换为File
function dataURLtoFile(dataurl, filename) { var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); while (n--) { u8arr[n] = bstr.charCodeAt(n); } return new File([u8arr], filename, { type: mime }); }
2.Base64转换为Blob
function dataURLtoBlob(dataurl, filename) { var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); while (n--) { u8arr[n] = bstr.charCodeAt(n); } return new Blob([u8arr], { type: mime }); }
File
基本一样,就最后一句return
不一样3.Blob转File
function blobToFile(blob) { return new File([blob], 'screenshot.png', { type: 'image/jpeg' }) }
这里和Base64转File
其实用的都是new File()
File
🎜) 인터페이스는 파일에 대한 정보를 제공하고 웹 페이지의 JavaScript가 파일에 액세스할 수 있도록 허용합니다. 콘텐츠. 파일 문서 항목🎜파일
로 변환하는 것과 동일합니다. 문장 return
은 다릅니다🎜 🎜🎜🎜3. Blob to File🎜🎜rrreeeBase64 to File
은 실제로 새 파일( )
메소드는 위의 메소드에 두 개의 매개변수가 전달됩니다. 여기서는 크게 중요하지 않은 매개변수로 메소드를 제공하므로 직접 사용할 수 있습니다. 🎜🎜🎜🎜추천 학습: "🎜PHP 비디오 튜토리얼🎜"🎜🎜위 내용은 PHP에서 Base64, Blob, File의 상호 변환 방법에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!