PHP BLOB を Base64 に変換する方法: 1. 対応するコード ファイルを開きます; 2. PHP コンテンツを "fetch("/path/to/server", {method: "POST" body: files) に変更します。 [i ]})...」それだけです。
この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
php blob の変換方法to Base64?
PHP でローカル イメージ BLOB を Base64 に変換する
具体的な問題の説明:
内部ツール用の (HTML) フォームを作成しています。関連する質問データを入力し、スクリーンショットを添付できます。このフォームは、送信のために Ajax 経由で PHPMailer に送信されます。問題はスクリーンショットです。システムの制限により、ユーザーが実際にファイルをサーバーにアップロードすることはできません。
現在、HTML5 ファイル リーダーを使用してファイルを選択しています。次に、画像 BLOB を Base64 に変換し、添付ファイルに変換するために PHPMailer に送信しました。これは実際には問題なく動作しました。ただし、ファイル サイズが限界に達しました。具体的には、1000 ピクセル x 1000 ピクセル (402 KB) のテスト画像です。結果の Base64 文字列は 100 万文字を超え、リクエストは 413 (リクエスト エンティティが大きすぎます) を返します。
Base64 が効率的でないことはわかっています。大きな画像を転送する方法で、データベースから画像 BLOB を取得/変換することに関するさまざまな記事を見てきましたが、ローカルの画像 BLOB を取得して Base64 に変換することに関する情報が見つかりません。
My Image Blob URL は次のようになります。 blob: http://example.com/18960927-e220-4417-93a4-edb608e5b8b3
このローカル画像データを PHP で取得して、base64 に変換することは可能ですか?
多くのソース コードを投稿することはできませんが、FileReader をどのように使用するかは次のとおりです。
window.onload=function(){ window.URL = window.URL || window.webkitURL; var fileSelect = document.getElementById("fileSelect"), fileElem = document.getElementById("fileElem"), fileList = document.getElementById("fileList"); fileSelect.addEventListener("click", function (e) { if (fileElem) { fileElem.click(); } e.preventDefault(); // prevent navigation to "#" }, false); } function handleFiles(files) { if (!files.length) { fileList.innerHTML = "<p>No files selected!</p>"; } else { fileList.innerHTML = ""; var list = document.createElement("ul"); fileList.appendChild(list); for (var i = 0; i < files.length; i++) { if(files[i].size > 1000000) { alert(files[i].name + ' is too big. Please resize it and try again.'); } else { var li = document.createElement("li"); list.appendChild(li); var img = document.createElement("img"); img.src = window.URL.createObjectURL(files[i]); img.height = 60; img.setAttribute("class", "shotzPrev"); img.onload = function() { window.URL.revokeObjectURL(this.src); } li.appendChild(img); var info = document.createElement("span"); info.innerHTML = files[i].name + "<br>" + files[i].size + " bytes"; li.appendChild(info); } } } }
解決策:
POST できます。 File オブジェクトを php
fetch("/path/to/server", { method: "POST" body: files[i] }) .then(response => console.log(response.ok)) .catch(err => console.error(err));
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHP BLOBをbase64に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、酸とベースのデータベースモデルを比較し、その特性と適切なユースケースを詳述しています。酸は、財務およびeコマースアプリケーションに適したデータの整合性と一貫性を優先し、ベースは可用性に焦点を当て、

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

この記事では、パスワードを保護するためにPHPでpassword_hashとpassword_verifyを使用することの利点について説明します。主な議論は、これらの関数が自動塩の生成、強力なハッシュアルゴリズム、およびSecurを通じてパスワード保護を強化するということです

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

この記事では、PHPでのXSS攻撃を防ぐための戦略について説明し、入力の消毒、出力エンコード、セキュリティを向上させるライブラリとフレームワークの使用に焦点を当てています。

この記事では、PHPでのインターフェイスと抽象クラスの使用について説明し、それぞれをいつ使用するかに焦点を当てています。インターフェイスは、無関係なクラスや複数の継承に適した、実装なしで契約を定義します。抽象クラスは共通の機能を提供します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ホットトピック









