این کد زیرو تلفیق کنید با کدهای بالا تا کارتون داینامیک تر بشه.
چون اگر توجه کرده باشید در کد بالا من مسیر فایل و تصویر رو داینامیک ثابت گرفته بودم.
ولی این کد یک فایل بروزر هستش که از شما مثلا مسیر عکس رو میگیره و خروجی به شما هم تصویر عکس رو نمایش میده هم کد بیس 64 رو پس میده.
یعنی میتونید کلا blob رو هم دور بزنید و مستقیم از همین کد استفاده کرده و با متد پست آزاکس به فایل کلاسیکی که بالا نوشتم پاسش بدید و در مسیر سرور آپلودش کنید
function previewFile() {
var base64data ;
var image = document.getElementById('MYPIC');
var file = document.querySelector('input[type=file]').files[0];
var reader = new FileReader();
// be-jaye reder-onload 2 khat payin tar mishod az in coe estefade kard :: reader.addEventListener("load", function () {MYPIC.src = reader.result;}, false);
if (file) {
reader.readAsDataURL(file);
reader.onloadend = function() {
base64data = reader.result;
alert(base64data );
image.src = base64data;
}
}
}
<input type="file" onchange="previewFile()"><br>
<img id="MYPIC" >