角度2で画像をbase64に変換すると、画像はローカルからアップロードされます。現在、fileLoadedEvent.target.resultを使用しています。問題は、このbase64文字列をRESTサービスからjavaに送信すると、それをデコードできないことです。無料のオンラインエンコーダ/デコーダでこのbase64文字列を試してみると、デコードされた画像も見ることができません。キャンバスも使ってみました。適切な結果が得られない。一つは、base64の文字列が正しいものではないと確信しています。これにはパッケージを追加する必要がありますか?または、角度2では、画像をbase64にエンコードする方法はありますか?それは、角度1のangle-base64アップロードパッケージにあったのと同じです。角度2でbase64に画像を変換する
PLSのは、あなたがBASE64に画像をエンコードするためにbtoaやCrypto.jsを使用してみました、私のサンプルコード
onFileChangeEncodeImageFileAsURL(event:any,imgLogoUpload:any,imageForLogo:any,imageDiv:any)
{
var filesSelected = imgLogoUpload.files;
var self = this;
if (filesSelected.length > 0) {
var fileToLoad = filesSelected[0];
//Reading Image file, encode and display
var reader: FileReader = new FileReader();
reader.onloadend = function(fileLoadedEvent:any) {
//SECOND METHO
var imgSrcData = fileLoadedEvent.target.result; // <--- data: base64
var newImage = imageForLogo;
newImage.src = imgSrcData;
imageDiv.innerHTML = newImage.outerHTML;
}
reader.readAsDataURL(fileToLoad);
}
}
はあなたのコードを表示し作成しました。 – Satpal
入力ファイルコントロールからバックエンドに画像をアップロードする必要がありますか? – Habeeb
ああ、私はそれがゾーンの問題だと思う... innerHtmlでのあなたの変更は、あなたが通常angular2で行う方法ではありません。 – laser