は、今私は、この行でFileオブジェクトを取得しています:JavaScriptでファイルをbase64に変換するには?
file = document.querySelector('#files > input[type="file"]').files[0]
は、私はbase64文字列に変換するために何をすべきベース64にJSONを経由して、このファイルを送信する必要がありますか?
は、今私は、この行でFileオブジェクトを取得しています:JavaScriptでファイルをbase64に変換するには?
file = document.querySelector('#files > input[type="file"]').files[0]
は、私はbase64文字列に変換するために何をすべきベース64にJSONを経由して、このファイルを送信する必要がありますか?
にデータを変換するために使用することができるFileReader
class:
function getBase64(file) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function() {
console.log(reader.result);
};
reader.onerror = function (error) {
console.log('Error: ', error);
};
}
var file = document.querySelector('#files > input[type="file"]').files[0];
getBase64(file); // prints the base64 string
注意.files[0]
がBlob
のsublcassあるFile
タイプは、であること。したがって、FileReader
と一緒に使用できます。
完全な作業exampleを参照してください。
あなたは約束ベースのソリューションの後であれば、これはそのための適応ドミトリのコード@です:
function getBase64(file) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload =() => resolve(reader.result);
reader.onerror = error => reject(error);
});
}
var file = document.querySelector('#files > input[type="file"]').files[0];
getBase64(values.profile_image_new[0]).then(
data => console.log(data)
);
非常に役に立ちました! –
FileReader APIの詳細:https://developer.mozilla.org/en-US/docs/Web/API/FileReaderとブラウザのサポート:http://caniuse.com/#feat=filereader –
私は '私は変数としてbase64をキャプチャしてからGoogle Apps Scriptに送信したいので、 'console.log(reader.result) 'を使用するのではなく' getBase64() '関数からreturn reader.resultを返します。 'var my_file_as_base64 = getBase64(file)'で関数を呼び出し、 'console.log(my_file_as_base64)'でコンソールに出力しようとしましたが、 'undefined'が返ってきました。どのようにして、base64を変数に適切に割り当てることができますか? – user1063287