Skip to content

Instantly share code, notes, and snippets.

@iamaddy
Last active March 28, 2024 17:25
Show Gist options
  • Save iamaddy/74dd67a1c961db0cd2bd029260e3d0c2 to your computer and use it in GitHub Desktop.
Save iamaddy/74dd67a1c961db0cd2bd029260e3d0c2 to your computer and use it in GitHub Desktop.
ajax upload base64 image
function dataURItoBlob(dataURI) {
var byteString = atob(dataURI.split(',')[1]);
var ab = new ArrayBuffer(byteString.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < byteString.length; i++) {
ia[i] = byteString.charCodeAt(i);
}
return new Blob([ab], { type: 'image/jpeg' });
}
function supportFile (){
return typeof window.Blob !== "undefined" &&
typeof window.ArrayBuffer !== "undefined" &&
typeof window.Uint8Array !== "undefined" &&
typeof window.atob !== "undefined";
}
/* 'data:img/jpg;base64,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
P2rMmDH64IMPwjIzOwAAuDjG7NKqbPny5Ro1apQ2bdokSWrYsKFuvfVWdevWTa1atVKTJk2UlJQk
6ezxObt27dKGDRv06aefasmSJb6Dn1u1aqUZM2YoKysrbO+lNrCp1z7ssKk3mKgt+zCttgJFLdqH
HWrR2MAjSWfOnNHf//53zZw5U59++mlAr83IyNDIkSM1cOBA33+USRgI7MMOA0EwUVv2YVptBYpa
tA871KLRgae8Xbt2acmSJfr888/1zTffaOfOnb6zuRITE3XFFVfouuuuU5cuXXTrrbeqcePGYe5x
7WIgsA87DATBRG3Zh2m1FShq0T7sUItRE3hQEQOBfdhhIAgmass+TKutQFGL9mGHWjRvXw0AAEAl
BB4AAGA8Ag8AADAegQcAABiPwAMAAIxH4AEAAMYj8AAAAOMReAAAgPEIPAAAwHjGBZ4NGzaoR48e
io+PV2Jiom666SZt2LBBktSnT5+A13chr4kELpdLknT69Okw9yS6eTweSZLb7Q5zT4KH2rIHE2sr
UNSiPdilFo0LPHfeeaeGDBmigwcP6ocfftCdd96pgQMHSpIWL14c8Pou5DWRoHnz5pLkm00e4bFx
40ZJUosWLcLck+ChtuzBxNoKFLVoD3apReMCz8GDB9WhQwfFx8erXr16evDBB7VlyxbfnCpl/37x
xRfq0qWL6tWrp1/+8peaN2+e7/lp06apY8eO57zGJPfee68kKTc3VwUFBb4EjtDweDxau3atHnro
IUlSTk5OmHsUPNRWeJlcW4GiFsPLdrVoGeadd96xGjZsaGVlZVnjx4+3Pv30U99z5d9uixYtrL//
/e/WqVOnrDVr1lipqam+ZebNm2cdPXr0nNeYpLS01MrKyrIkcQvzrUePHpbH4wl3SQQNtWWfm2m1
FShq0T43O9SikX/NT506ZX366afWpEmTrLZt21pz5syxLKtieDl48KD1zDPPWHfccYfVtGlT33OS
rJ9++sm3XPnXmKa0tNSaPHmy1bp1a8vtdof9FyKabm6322rTpo01ZcqUsA8CtYHaorbsglqkFss4
LCuMc7WHwMGDB3X11VfryJEjcjgcvqnpMzIyNGTIEF1zzTW6/PLL9atf/UqWZVVYRtI59wEACJX2
7dtLktauXRvmnkQ+447hadasma8wSktLVVBQoGbNmkmSnE6nDh06JOns2VwdO3ZUq1atNG7cOL/r
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
RXuwSy0SeKKUw+GQJHm93jD3BGVnmpnyq0ht2YdptRUoatE+7FCLHMMDAACMR+ABAADGI/AAAADj
EXgAAIDxCDwAAMB4BB4AAGA8Ag8AADAegQcAABiPwAMAAIxH4AEAAMYj8AAAAOMReAAAgPEIPAAA
wHgEHgAAYDwCDwAAMB6BBxHL6Ty3fMseczqd59wkqV27dnr55ZcrvObll19Wu3bt/K4TAKoSrPHC
33r8PX777bdf9LolKT8/X3FxcZo1a1aFsdNUDsuyrHB3AqHncDgkSV6vN8w9uXBOp/Oc/ld+rKr7
7dq108qVK1WvXj2VlJTo+uuv1+bNm+X1eqtcZ20rG2BM+VU0obZMYVptBaq2azFY44W/9QT6eKB9
jI2N1fz589WvX78Kgac2Pi871KK5UQ4h53Q6tXLlSqWmpqpTp07avn27JOmLL75Q165dlZiYqEaN
GmnevHm+5adNm6brr79e0tlvG7GxsXK73WrXrp1WrVolSdq7d69uuukmJSUlKSsrS9u2bbuofvbv
318fffSRJOmjjz7SLbfcclHrA2CGyls3yoeAqsa2Mrt371avXr2UmJioG2+8Ubt375bkf+z7/vvv
1bVrV6WkpGjBggXV9mnevHlq0aKFYmNjlZ+ff86WGKfTqVdffVXJycmaNWuWpk+frnr16ik/P/+8
7/X06dMaOHBgha3gZYI97toBgQdBtXjxYm3btk29evXS6NGjJUlDhw7Vww8/rOLiYr3//vt65JFH
fMunpqbq448/liTl5ORoyJAhOnnypB5//HENGzZMkjRmzBg98MADOnDggIYPH67c3Fzf66vabXU+
d999t5YsWSJJ+te//qV+/foF5b0DMFdVY1uZUaNGqXPnztqzZ486duyokSNHSvI/9o0cOVLZ2dna
uXOn1q5dW227mzZt0n/+8x/Nnz9fgwYN8m19Kb8V5syZM1q+fLny8vLUpEkTvfHGGxo0aFC1661q
PeVVN+5GKnZpRana2NTrdDr1448/qn79+jp69KgaN26skpISHTp0SLNmzdJXX32ldevWqaioyLf7
6OjRo0pMTJQkzZgxQ+PGjdPAgQM1YsQIpaWlyeFwKDU1VcXFxb52EhISVFJScsG7tLxer26//Xa9
//77atu2rQoKCuRyudilFSTs0rIP02orUIHWor/xwt/YVvZ8amqqtm7dqksuuURHjhxR06ZNdfjw
Yb9jX2Jionbv3q3k5GQVFxcrNTXV766r48ePKy4u7pz+lC3vdDp14sQJxcbGKiYmRqWlpXK73VUu
W937rby8v3H3QtmhFtnCg6CKiYmRdHaAKft5wIABSk1NVW5urpYuXVph+bKwI5391vPWW2+pUaNG
GjhwoObMmSPp7LeX/fv3y+v1yuv1XtQvXZlu3brplVdeUbt27Xz9rE6gW5EiWdlnDYRbOGvxyJEj
Fe5XNbaVKd9Hy7J05swZSf7HPofDUeUWlqrGmbKwU526dev6wp3b7a5ymUDHMH/jbiSPhZHXY9ha
Tk6Odu3apeeee069e/eWJG3YsEEdO3ZUq1atNH78eL+vTUtL0+HDhzV27Fjl5ubqiSeekCRlZmZq
6tSpOnnypGbPnq2uXbtedD/vvvtuPf744+rbt2+Nli/7pY+GIDBnzhz17t1bEyZM0OrVq/Xzzz+H
u0uIUqGuRZfLpfz8fBUXF+vuu++u8FxVY1uZjIwMPf/88yopKdHkyZN9Y5S/sS87O1uTJk1SYWFh
hfGspuOM0+nUoUOHAnpvgY5h/sbdiB4LLUQlSZYky+v1Bu0myZozZ46VmJhoZWdnW3v27LG8Xq81
Y8YMKyUlxWrUqJE1depUX7uV2//888+tNm3aWHXq1LFcLpe1cOFCy+v1WkVFRVbPnj2t+Ph4Kz09
3dq4cWOVr6/qserud+/e3SopKanweNnnUv4WzM/I3+dmp1/F8ePHW+np6b5bVlaW9eSTT1orV660
PB7PeV9fW59bKP4vAmn3tttuC0rfFy5caMXGxlp/+ctf/P5umFJbgQp1LS5cuNByuVxWSkqKNXPm
zAr/H1WNbWXPFxUVWd27d7fi4uKsbt26Wdu3b7e8Xv9j365du6yMjAyrWbNm1meffea3j/7Gr1tv
vdWKj48/Z5mqfq7u/Ve3fJGfcTeSa5FjeKJUbR3DE8z1RQs77Nsu75lnntG7775b5XPx8fHKzMxU
z5491bVrV9WtW/ecZWrrGJ5w1Vcknxpst9oKlF1qkbHt4tmhFtmlBaDGTpw4oaVLl+qxxx5Tz549
9dhjj2np0qU6fvz4Ba+z8uUJznc6rL/n/Z0CHIzLHXBqsP3URi3CbGzhiVKcSWMfZX/k0tPTw9yT
i5OZmalevXqpf//+OnPmTEBbP15//XX169dPSUlJuuuuu3THHXeof//+ys/P12uvvaYPP/zQ9y3b
3/MtW7bU+PHj1bdvX23YsEG33HKLDhw4oISEBN199916+eWXlZ+fr7Fjx+q7777zu56q+vfoo49q
7NixWr58uQYNGiSPx3POGS4vvfSS2rdvr5ycHE2YMEFOp7PKZataf/n1eMudKVPTPlb32UqRX1uB
utBaRO2xwxYeAk+UIvDYhyl/lHr06KGePXuqb9++AQee8pcnON9lCPw97+8U4EAvd1BV/yL11GBT
aitQF1qLqD0EHoQNgcc+7DAQlFfdcRPlxcfHKyMjw3cMRVkguNhrn6SkpOi7775TgwYNqlzO3/OZ
mZm65557dM011+jyyy9X8+bNfev96KOPtHr1av31r3/V7373O/32t7+ttp0yVYUVf4Gnup/L/1t+
3edb3l8fa8putRWoUNciao8dapFjeADUWGJiovr06aM///nPWrZsmSZOnKjs7OwaXSukps53GQJ/
z/s7BTjQyx14I+DUYISmFmGWOuHuACDZ7yyI22+/XYsWLZJkv76FWnJysnr06KFevXqpY8eOcrlc
tdpeXl6ehg0bpgYNGujaa6/1HXx8vuf/9Kc/qXfv3oqPj9fDDz+sN998U5L0yiuvKDc3Vzk5OXI4
HJo/f36N2jmfm2++WVdccYWOHTsWhHddtYvto2lCXYvBVH5MuVDRPhZdLHZpRSm7beq12y+yv10U
tdWWZJ/dDs8884xWrVqlnj17qlevXkpPT6/R1ajL2K22opndaitQJtViMMYRu42TgbBDLbJLC0FR
01OLzzfrsL9Ti/fs2aNbbrlFCQkJat26tdasWVNtO1X1r6YzuVc+5Vg697Rkkw0fPlxLly7V73//
e3Xs2DGgPzBAMJlSi5XHFH+zq1fmb1Z1f+Ne69atVVhYKEnasmWLGjZsqNOnT9fmW4soBB4ETfmZ
z6ubabe6WYf9zS48YsQItWzZUvv379cf//hHDR069LztVFbTmdzLvkGV/yZVecZikzVo0CAi58mB
eUypxcpjir/Z1SvzN6u6v3Fv8ODB+sc//iFJWrhwoe65556I2u1X29ilFaWCvak3kFOLq5t12N+p
xUlJSdqxY4dSUlIqtBvIqcWBzuRefpdWVaclB4sdNvUGk512I0Q702orUHaqxfLjhr/Z1SvzN6u6
v3Hv+++/15133qn//ve/6tSpk1566SW1a9cuZO+xOnaoxciPzrCN8jOfVzfDeXWzDvubXdjlclX5
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'
*/
function upload(base64String){
if(!supportFile()){
alert("don't support")
return;
}
var xhr = new XMLHttpRequest();
var formData = new FormData();
formData.append('fileToUpload', dataURItoBlob(base64String));
var url = 'uploadimg.php';
xhr.addEventListener("load", function() {
// todo
}, false);
xhr.addEventListener("progress", function(evt) {
// todo
}, false);
xhr.addEventListener("error", function() {
// xxxx
}, false);
xhr.open("POST", url);
xhr.send(formData);
}
@LucasHayashi
Copy link

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment