この記事では、php に関する関連知識をお届けします。主に、Base64、Blob、および File がどのように相互に変換されるかについて説明します。興味のある方は以下をご覧ください。皆様のお役に立てれば幸いです。
まえがき
写真を入手した際、形式を変換する必要がある場面に遭遇したので、録画して共有しました。それ。
#テキスト
1. 形式の基本概要
例:
##Blob に変換することもできます。 Blob ドキュメント エントリ
例
##ファイル
2. これら 3 つの形式を判断する方法
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 }
console.log(data instanceof Blob) //ture or false
3 .ファイル オブジェクトであるかどうかを判断する
console.log(data instanceof File && !data instanceof Blob) //ture or falsePS:Blob と File の両方で、instanceof を使用して、対応するデータ型であるかどうかを判断します。 File オブジェクトは Blob オブジェクトでもあることに注意してください。 File は Blob を継承しているため、判定ロジックは自分で定義できます。
3. 形式間の変換
1. Base64 をファイルに変換する##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 }); }
return# を除き、基本的に transferFile
と同じです。# #3.Blob to File
<pre class="brush:php;toolbar:false">function blobToFile(blob) {
return new File([blob], &#39;screenshot.png&#39;, { type: &#39;image/jpeg&#39; })
}</pre>
Base64 to File は実際には new File()
メソッド。上記の 2 番目のパラメータが渡されます。ここで修正されています。このパラメータはそれほど重要ではありません。関数は自分で変更できます。メソッドは提供されているため、直接使用できます。 推奨学習: 「
PHP ビデオ チュートリアル 」
以上がPHPにおけるBase64、Blob、Fileの相互変換方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。