今回は、AJAX 経由でアップロードするための jQuery エンコードを Base64 に変換する方法と、AJAX 経由でアップロードするための jQuery エンコードを Base64 に変換する方法について説明します。 注意事項は何ですか? ここで実際のケースを見てみましょう。
この記事の例では、jQuery がファイルを Base64 にエンコードし、AJAX 経由でアップロードする方法について説明します。参考までに皆さんと共有してください。詳細は次のとおりです: 通常、AJAX を使用してファイルを直接アップロードすることはできません。非同期ファイル アップロードの効果を実現するには、その中に新しい iframe を作成してフォーム送信プロセスを完了する必要があります。 これにより、ブラウザーの互換性が向上しますが、plupload などのファイルアップロードプラグインが使用される場合でも、コードの量は比較的多くなります。
あるレベルの柔軟性を実現するにはどうすればよいでしょうか? 通常の AJAX によるフォーム データの送信と同じように、ファイルを通常のフォーム パラメーターとして扱うことができれば素晴らしいでしょう。 ひらめきがあったのですが、javascriptのFileReaderオブジェクトを使ってファイルをbase64にエンコードしてからサーバーに送信すれば十分ではないでしょうか~
それを始めて、十分な食べ物を持って、衣類。 フロントエンドはbase64でファイルをエンコードし、ajax経由でサーバーに送信します:<head> <meta charset="UTF-8"> </head> <form onsubmit="return false;"> <input type="hidden" name="file_base64" id="file_base64"> <input type="file" id="fileup"> <input type="submit" value="submit" onclick="$.post('./uploader.php', $(this).parent().serialize());"> </form> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script> $(document).ready(function(){ $("#fileup").change(function(){ var v = $(this).val(); var reader = new FileReader(); reader.readAsDataURL(this.files[0]); reader.onload = function(e){ console.log(e.target.result); $('#file_base64').val(e.target.result); }; }); }); </script>
<?php if (isset($_POST['file_base64'])){ $file_base64 = $_POST['file_base64']; $file_base64 = preg_replace('/data:.*;base64,/i', '', $file_base64); $file_base64 = base64_decode($file_base64); file_put_contents('./file.save', $file_base64); }
vuexでのmapStateとmapGettersの使用の詳細な説明
以上がAJAX 経由で Base64 アップロードを変換するための jQuery エンコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。