ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで Ajax を介して非同期ファイルのアップロードを実装する方法のコード例

PHP_PHP チュートリアルで Ajax を介して非同期ファイルのアップロードを実装する方法のコード例

WBOY
WBOYオリジナル
2016-07-21 15:29:22942ブラウズ

1: ファイル オブジェクトを取得します
2: バイナリ データを読み取ります
3: http リクエストをシミュレートしてデータを送信します (これは通常、より面倒です)
forefox の xmlhttprequest オブジェクトの sendasbinary メソッドを使用してデータを送信します
4: 完全な実装
発生した問題
現在、ファイルを正しくアップロードできるのは Firefox のみです。 (Chromeでもgoogle.gearsを使ってアップロードできます)
FirefoxとChromeで読み込んだファイルデータが違うようです(デバッグツールのせいなのかは分かりません)
Chromeなどの高度なブラウザにはsendasbinaryがありませんメソッドを使用してデータを送信することしかできませんが、上記の理由により正しくアップロードされない可能性があります。 (テスト後、通常のテキスト ファイルは正しくアップロードできます)

コードをコピーします コードは次のとおりです:





html5 file and filereader





(把图片拖拽到这里)利用 filereader 获取文件 base64 编码











filereader对象
var filereader = new filereader();
filereader.onloadend = function(){
console.log(this.readystate); // 今回の天気は 2
console.log(this.result); 读取完了回调関数,データ保護存在結果中
}
filereader.readasbinarystring(file);// 读取2进制開始パラメータ
//filereader.readasdataurl(file); // 读取base64
//filereader.readastext(file);// 读取文本情報

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/323389.html技術記事 1: ファイル取得オブジェクト 2: 读取2进制データ 3: 模拟http请要求、データ送信送出(此処通常比较麻烦) forefox で xmlhttprequest 对オブジェクトの sendasbinary メソッド送信...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。