From 1ce700c09291ec2ddd0b22986cc30b87bfc107b9 Mon Sep 17 00:00:00 2001 From: EmreKendirli Date: Wed, 8 May 2024 10:46:59 +0300 Subject: [PATCH] the desired changes were made. --- .../images/step1.png | Bin 6388 -> 0 bytes .../images/step2.png | Bin 8853 -> 0 bytes .../images/step3.png | Bin 10622 -> 0 bytes .../images/step4.png | Bin 10623 -> 0 bytes .../images/step5.png | Bin 10881 -> 0 bytes .../post.md | 58 ++++++++++++++---- 6 files changed, 45 insertions(+), 13 deletions(-) delete mode 100644 docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/images/step1.png delete mode 100644 docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/images/step2.png delete mode 100644 docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/images/step3.png delete mode 100644 docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/images/step4.png delete mode 100644 docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/images/step5.png diff --git a/docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/images/step1.png b/docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/images/step1.png deleted file mode 100644 index 7203900b9e488f5f379ab98c9467b09fdc3a82a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6388 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 diff --git a/docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/images/step3.png b/docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/images/step3.png deleted file mode 100644 index 98c1e81e4dc6309200271f23d273b22a08c20372..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10622 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 diff --git a/docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/images/step4.png b/docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/images/step4.png deleted file mode 100644 index 942b41baba113b18e746c974566806408c654a20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10623 zcmchdWmFtbx9%ZGAb8NA0TKp+LxAAHA-Frioxx?$V8J1{Lm6N1kd)frh+yf(R_wD@6Ro`A4*c>4g!^!F$u*b?MC|0%C^3UTN4GZ5&2e* z7t#ix+GFCr|G*pc@>!2aUMN-q%02xX`$ckZ+SS3gl1|nZ;W45w%@r^b7781DM?Ky_ zmRe)gp*$VOH)-iSG(N}k3DPO+JI~FIul4N4^z3H6xBXULvFg`ajv3;MW6*|t18oJ& zKVs5`;EN9miN{MlrSKDwiFBW04BA&8{|gdM6OyxMq|&E-Wu09vt<*oxsf3(&&8ym` z9X;Qi{9&K;wI;HoZajE1x=f&;{jOL;e;fyfvNL|t{Gu=pYF+leeDTZU{4@cJ9ZiEE zNo;PV``J}$K)++D#~lC5mhBMViwB%P&4vgs5Ta9H$9?tp4D(@5olx|O;Lh!c*}+MT zaE}ypMA$m++5*l0JgsHi%a2XuhLfw}=y$Et@vl^)rYO<2caJcH4}@b}dLXgZalw#; zhoR|~f`VogF#%H0eLY(L6&AU;!eS&po1VK`dk;gnSPTQp2DWn7_aA_F@ESva3GUVR zf)Y$cZzfZ5UPa2&S&R8!R-&%=dF-@GwNIRQ6)lJ;71nB_BWF2w(VnKEn4KDI?_`ba} zB(cKhP+ES4#Bl{_VAx|r`1|9Z_wRnw)4^&a3=g^@gkHSbkx0RHBTbO%dvV8bMfMI_ zNEPo)A^PC^LjALFNX(U&_}x}aS=z9vslV~tjE;93oj-c^b7d8)P<_h9EhF*|}QnNx$Bb{h+Wjav!hQXM1mf85@HfJGzE^({NpL0dSk ziehplH30jMG?qV!Alv?MW(6^8g3^zpj-(^lNxcBV_~0Rcw?1D}OaFY_*+>ubNF_U` zaYb2zwbVb$?nN{2f#Jc6yUdHqlFZNR$(cjqT>C+qQO>=E2l}OpxnTbf(=r>gtv3#^ zM}y~*rfY6}T$^XXsYmO0VTbE~a7Dw*?aZ-nbQ%I)Z+!LOD>d_2N~ZEWJvJiu=!{Yt z(LYKLs1e*u!8S;kHGD-CY#$yXFisJSE>$JoH}PHZhg$l;ppj1--AgS3n%Z^nlsVLx zMoIY@Jll;tfnT>~q3Y9Dw2farINV<76cjJzdKRpz)`Ofe{Tm(`hbvmA?!+6HbmLU- z;GKufy+uyHfjB=Qoi|L+Hl!$cg%I(Iz0*71MQj@Uyyc>y z@?)3ycMs$c&nJBJ)dT3_2>>en-_O5tzaejf%SJ1lsZ9@E7sW_~AQ^l*A%?$b@M57)gpX|6IC_ zC~uE~u(9-dUS@8^Rd}ABVp&3KkJ$)$C_GR)E|yxYGxWY%O&~e8TTQ4#OkO?YDoU{0 zc80ywiOa#h%+{mXtp2v?vFW@(aSVyk}r{`DpDm`*{_oklpW3KcCfS7;jqWgL+t7T=GmDx#zQ*$iuNN#hR32wB5UG;6iZMPQj5scg)=aQ) z7)bqFjg4oBk337nr;dXN`6}T4?3K3hv>sUv8;Fj#0_jt+a%Hx`8fSp4QR)W#+qPc) z>oddJ&+7(n7pd9hMI+Bf^q;;Rg1lqiej`6zc$`2oeFkk=;>l@(2JJfc56vCeoz6#( zD_Kcwt@G%;BbVyX<8@sb{Ch9K69|^aTeRT?gu~FriH}F{2~DRy$!7JJBxR!Dv^rra z5YlMg2EQQJ9>U}Bf>pVfk&*8p{X*5gm)+w!e{?b|KfI=kd{tN&$@n;nSn-eAzO1-3OX7Q)~#=X zVK*X>WKwrT_BDn@-I|Gm`@RhD);1|%=LJJQ@!b!-)eaIDp34b9te{FJ)bP?ixk&8$ z!FMw@WsH;2AwuIk#rxflo;~VDwnA8uHAdm9n9T;1q_Y#|30P(!seH}ei3_TZJ=&Zq z3*_rBu(pP6d(414QK%gNrJxy|2mA~vZ0o3qIQKBH*Cg0V`QSxK<~L?F5_pb5iJ>R; zT9>CTIVKQ_xb`&2xQ*cj?0+tECT@Worf6!1l#pV^YEkzB`C`8LR4J|0XaFC3A0mH@ zfNqatUsnX)ej~I%_ZoT7Xw%eV*Z`bRwLaV`qfBjKGH55wYzW2;i`pHpe>q^&IFbUy zh32~rC1*%9d1-!4ZS%vZ#|vpLYIQe6(5ysUo{>fJES8(xRF~*J*fFDSWbi#)BiQls zo(~|sf(4n;9Z8G7Olu#EjLe(I2t=&Bh=||1#&JI7eg1HrN>MEoZEQPg_@^)Lcujsn zkx5 zbMJ7Iy3e-Gqg#rMM(`eE4eKGoyk)+03Frg*a*bU0$kgJspt(Z*oKA|S#b}=O>}to#pqbtCeJQi>~b=0? zRs9H4Y8c?HX*r&LlF@J!QVZ@~H<&qfl}75#z0N>5P54}C_^ykTuJFSN>9y56Ct`Fg zr!LAG<4wMnAK?U2TWYJaI6-5#Q}=GTTjxJ;bS7i0nZpbMJ)BuidzFpcmVc#e$;wfG zNDNK!Kq%$lmOE~CSSWGou3VUXZK>W4b8wOHH(##cGbKI){v!|kEZw-ENnBlXy~@@Ol^17BtBlSn)X z+G^|45b}Cg2+&pezG>&^#<<*N-YeltZev^4+=IGNK^s4-sf`WJ+-yIdD zFoEO=dS?eK3R!S?Ro%*34LHr(KC*#iPKR+q{KBNawod0jGMe34qfguJLC*J)B6p(^ zY`3k1Mk?-X5L6#MmdmIDX8g`W+6QWHYmpkxKl2z);Ox9BrL2AS?v(rX^$qHgL9ZjT z;-3crK%wHkt7oDEcW%JydF7XFV$35o*6A!hzIv=*4@z=Nc82K^b{DKlOQb@nc^KIc z{c2c5=6QLXiS0!Nkry3YG+U=Sx6(nXj1ro@V)<+Pdr?G}C6X|-R z=TbknUFsSN1is@cHQsF~l(QP>b+BPkT=x}a4R8PBZF9g`o~n!B3o+l{nP_fX!(;&~ z$*QyMP(j991}7F;bhll#l2U89AU7@O&=ob&4|7oDW9ft_kvG;F(yj8RUm|kYW|<0} zF-^=v&{PY%*>cs&)c0S#v4Er;t}ZCEQ5?Svp5(^kR!f({WOI6<<6yP+rcQH_gKwhu z0dQj*D=nRXVDp-_Fm}DR@o+5fTo&I_{MwK>>L=>BolfU0&EyIQk1-qCwcXm+hq=`akJghko6c|xRPMn8d#Oy;$mt_@WdAQxl`e6P0?=?P?R0?6onQD4A#IY2=@kdB-K{gX zzx=b&db)b$2wOQ7Dvbj;Cpo>6gn+Dki=#Zp$vz3T_y+#$7$F{E@7MWZCUu{uH_(J~ zy6PE#Dn!6q)I4i^5tZdwGHdxHG?eJMf$R)2e*EE|MkW` z7@LEXu?jn6+}93zR=krb9A4-BRSj^@^=ZuuUTcpnq@#pGt=dk>zF^aX*bY?5M=|; zmQyK*g9=vAQ3r6Rq-01)Yh6iS{$}5iN@yQYoa<_?pnM6q17DN^e(SNn<(aIG_w^93dp1zjsHGdnjnq-Op4QunC zunwN*H*v~8xP*iJTd6n3YKt}Ab-MuPj;xWg2Xr-rU5_ye-@>1Gf%_Q8_&|f7;Vxvb zPQ9pp-x8DCmo2Yzw}T@lzTLxb3g0Gi{^Gn;5(YE0oso+1>00JKby;Y$UHUz9@~gbz zy&B-06ZrE@b?%s;5e36y*`;1*ju|m6k?wqr6>~;L#)Vo|9gHi#{px^;x2HJ572i-h z%D){qYw$;vMyQrBa{HU`h9RVZ46NF;rm~3qr`I*D0ciWqRJ=jqiA3m6y3SE1Q>UL? zc_IVQC+i9(fae?_;z|#bs;M)YBe5uW;;GB<%aO7drOFrEoE}|*&{?aWxzm1K@^ULF z=)=77|A#45XHAoVjIpnm`~RGL99+yBywOvUZeEPdhU^GzvH_nuO8V%c+gYiRc|YJp zFFl8L=tML|U?da7lQ{^IZv89)+%2NU3X7UI_U-xjU~l=T`4fB*hBM}R^%BH=`V(Qz zyi;w%q~~)PYrGOm$sp~$`Kk2vGsK)Zt|2=c9D*aBpc6z_MiWOV5CJfXR49#md^T2d zAFtFJ3oHj|#;Qa1x2VeNe2ADoyIjiYjeI6UK!e}^nyOGZa^-;ACANF|6O#@yAU5}@ z2z`QB*U}X1o2f!ewFvGv4|dk{u%np*ycdpA>%!X2=&wV5TOST_XLPnI6up$a-}M&= zJG-75Gl`%bNiS&F)XnC*}LNw0>l{ALO%XE=cM-^=cJ5(RdE;rdGb@$z!P*cg9(g z&ygQy`3>QlhqD#7r3q0r7B^8+_j~b&#qRvN7#S$>@5EbM*L;2D*0`dL?KihThiC?T z@Kg!Gaxo-}E+DK3^9P9fC=|zyB&ba6XYFnD=GB?{(f#T~G!am7=Nx>IWywmZf#x4a zzubl;K-k%HWfwwN&{Dn+lJ}4vD?O`N!HOu{TJd{P_Vfpg;nIW0UI$0euY1Qu*3!!@^sa%{hLKdT%%OH1kp8IW^dM;GE4O=RN zRhiPi;}ep&x$>aKyVoSHMm?seYQhWgsh|Qkrm^aosUw0R^;XA%ipy)nLP&)z-HAb) zOj555>ZJcFPV0(i8Ka3)71rAoDh){+h_U(01Xn?2*nOeV)qKP0f%pz5!E^~r3wDW0 zq75==>+)=ZJ>N@mVeCNAeOR}VZ9f65xb7zu7sO|B18m@LnsYP6)=N#|ztZWD|3uoK z)M%i_Ka-y^moA7ny6Rxv?>O&Mcca8uP+00!A(6~fdTlFwReHhC{{{eWAEU`Vq`-^{yBb?I%X#Zys*a|HoKYl(p;mb;VU&4hVC7UqUT!rXS=D3 zG13umrzCT zya+z$Xs93RTTlBHbIW`~1aILJ@>IAenXp%`u}lx-4-X@IQfBCNLcIJaO@gPWiI%w6 zfSJc9`eVHH|P>Ca#3=i=xho(tR~u8ul`z>H6x{SGI$Z8&M3pGl70M#tt*DEhl`f$ z3%23A2;L!pkQAWGGZ937S)uxj^sf~>!p06)K{=Njs#GxHqY&cj_uq2+a@A{za3==UYQu}n&5!yYNeXTzxJ z(Rk6wg6P>UO(}78TUl7~yr-;hV!J?G?0&4I;b`rQ(C>iN9pr48o0|?RKSucd(b`N= zovZEwXEv7SLox7_+mE>=K-~T7o9&8Df|?7Rn!sbvWePD6oO{sSBWg~M^@(jPR^Lv) z{=U(Wb2I3PY$O2cJ<7DALy>)yj;FU7-H7ZZwXh9W;>ASK(WukR))2DOn$yfTAW9zQ z&AQC_HuK%#sz5xo_OR`gh{dLY#?_Nl&rW6ZQyP9)GLxm621(Fd{pdzwLr&F8K+*T5 zu-vxYwkd|F24636JKAC00>yGh=IfNhu#x zClqcPFNvQ7rs>}f#JdA}-UI6|f?c2Z^y@Xc%sv+nG z2ckPCb|*O{x{UgRH|U)euHkKVmpVmNo71|qo9P-GDx|N7Q1gre}haTZDr$bUz&x3GZ!Gg7 zhu*noV9K_NEzXeuqzk^IzlOMPpwk>2pUuI81;13IOdUTe7*pOJHuH8hN~=`)qb)sX z5z0^GRq5N%#O{6gCjAVm$^U%Z6V;KM>agoi;6+OLwOD_d*9s2T7Kd1$Sh>y$$*t*^ zrOpbXhJ{yUMu^K37|YFeu3+9fzVSe3w?AxEVs2S9){Ek9P0t;7yR6u$iYVW`HV62~+QHkl%A` zT};fuLI<)dpRM%Xh7xV48EUM!m!c5&qBIbL104XKN%8PnLhB|N~Tt_2Fnc8|< zzkp{6vi||m0Nm$O!qlZyF@I9GHW=q}q>vX@p=CD)gKhl_AZyw}5mJKs6T+H5d4o?< z_ZNq>H5x&jdxdJqV%XnXXhY1q5^#P0DrVjC|41Q8k^CdCWzqk?5?bT}E8T=)%iW(^ zTfP^I#_I7$nY5Byky$Yl^AG6TQt5}bfOIaL#f*MKZsD;~;Wxqc$u`l4^#@V0{?Q7p za1XqZ(t}UKPT;ki+LJdaGt(Ah4`h3-war?H#+#=CQGz~~cff_nCm%=FcWTo+bf$l@ zY=0MMK{ovZ>6me>{DUSgA5j|*ZPWaPTz213@70xIDbY0W^5n^}$}k)@T+1lGzF}X3 zwPi#y!pTOBU-Ral9%g#DH&7ml$^SOJFT1yWNg)ZH$*+)~@p$V-)y7At|L96J8L-{x z0Hez-{<(blZ`CS4lvCkvND6>AC|JvwFon;c<>zo@81RPHJ*qbm?ul!w^tKX##QEB*rRSw{F zUWq65`uhomUemT(5U8>JSZr`5&{yfq`H#XCiSy&zD}cPVxee*ET!4*#9_(m$AVWLb z-F@+&$|mCW^z--YNyb?r@YS@egb9mA_d|HAN>M?>@vPRDMYf%})a`(b#h-=*vooBT zfCeIPM=7YSS+Q^hGi%ulDqQDoTsFuWwKII0f|@!$&u4g5xIuS5!76L?(WlZgnguAp zQ`x&oaH#Cmz2`e_I;RN86N$m<(KpbR{D7An;AHQc)RptFmuA*9xFV zsI~`;17`MX{abyuD3Zds!~eXhv*}ytFnWw$MDdQ;E-RT0U^NoJyb_?*t$8E$uZl1j zC+*d8?8N2B+0h#4(4`3OQjyqU1|qy8)mp32Wh(^o$? z6AwN%DpqmV9U8tV|Y67PO&dxdsK!i4?GZwV~H4t(EY5d+8+o$0B}BmHR>ZGljKws%ZF&e z{WJj^7B&OY2!%8HQ)DnnZ#KMZv)b6HHqrNJ4`@}Dp-*jDLoG3ttCRSA{VXEiG2%&* zQf?U-6;8M@$}3xcTXxm^l>Gz*T5~eE29_`71EPv;hq4RNyW0yq}_&1jqCWGwSs#u}f9g|hyEp8(w?D_>^BPE}ERxt{%BsQr= z)Fx1x%hu$n!Kb}Ev{D#*l8P*TO}q$rpWBxP(LKPsFJp(efMOf@+-!omBLM>r z_Fci*6Q(nxGJo{cqS!Ayj2f@Zj63W}5kK%P?GwX1uE=H{c+% zIz345VgC$1JnDon^+J+ow5pKfq5`+}H<3^jg+%4ZhUY)`NPmsz4f47kl^!jit?D42 z={wZ(+BYa8VD@l9Fns>}MknxRdBlUe&Q%OwiJeIv3rVmNHJC%yf_s*nFQ$rOJW_-C z{aoPBAWVCd0P$N#Qu6s}A7&o;P@>`}nhrCbgOnUbW-)2Nx zwaYA|jjj{#gSlkHj$W2_9Y@wj)gl@rOS9@ovkf2}8$&2qLcY|_orPf_;X|xyCs?tS zSziA_;I0TXBSNbk>wMgllJ0MFu3|_@CegviQWx}nBiw?8ShMe&3vnoe2ECVUL}3+@ zokH7N(Izrd3t4-~8!t`m7AUXa;@N@@!-}TEl1l!iaQNL=UAX9KFkD;KaBb*ZfnPTHb)}K{b`tl7(DF(H} zJLJ1{G#49v%*EsHWAMB&XHlYFNm4Zy;ST0n;l`N?kps+F@l3FkUc3x;h+)>!jq4E~ zY0_`wmGh|>Fjbo*`4SOd#VlFx^TBdVZ@?auM8Pk>`L*0k?V;O94#xVp7Dbo&!|UG6 zNz3sO1jV1OOj7qNrPbg)&?{T(!EN6wU0G!@ySq=an1TaQ%OEHG7POIVCj@&Nz)UI5 zBk8dAOv!=JiWq^kP6G1XT~Zw+Nb|TMPqFKVhgP0+8ne`Z;+ng1JXX(Ud>M6(p6j^;kI=kdQ6LdEEGBG zbk`Kc*@5>Mx?JVsP_!W?VZlHCz$%rHVV|*nWn4940XSm)EWfD)){^ypp@FWo)fY&{ zU|XR%E>Re03I*NcCNBF=`q~x0ea|>MEP*ahOiw5$fmVKFGnnWTRqvAa-aIISh4(?2 zJ{|0ho8IM{7|U`gaPf1ig;YTKz>ykleFFEFZEh0#rk0#=6Zw@Pfs#o3K!zC$nh~|F zsVZT-_BeV_xx25d>htRxkgQ*K$;1uRb}A8km%CZ2dQC|t6Lt)I!r<4)W=xYu{iu97 z%)D;=ibx(O9%)Qg)3*8j={KAd^5W&kX)a%Hi}r&ZCD*_7Bq=9VjWHK3V&y5vdL@># zp!o?tcei73o;d>gW(g?iMrSoz5vxrUC}oDhH>OAME{8O1I9UmX3^SmA$b{82G; zoTo44zX5mR+cL)yq=8&&$pRM=?7+X)05eTuwH5T+$;t+abpmgm_3u!UoX_R8M0t5& zxqrhqs3?JksfIVa|su*Xyd}3HccYQNhwK!#f^jh7fx4Za{vGU diff --git a/docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/images/step5.png b/docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/images/step5.png deleted file mode 100644 index a7e2937bf33688e0e0f45613d2db88c8aad5f6fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10881 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 diff --git a/docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/post.md b/docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/post.md index c8a9de93d7..dfdc3249b2 100644 --- a/docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/post.md +++ b/docs/en/Community-Articles/2024-04-19-using-blob-storage-with-abp/post.md @@ -1,6 +1,6 @@ # Using Blob Storage with ABP - ABP Framework is a comprehensive development framework for modern web applications and microservice architectures. This framework offers its users the possibility to quickly build scalable and modular applications. An advantage of this framework is the flexibility to integrate different cloud services or infrastructure components. + ABP Framework is a comprehensive development framework for modern web applications and microservice architectures. ABP Framework [provides an abstraction to work with BLOBs and provides some pre-built storage providers](https://docs.abp.io/en/abp/latest/Blob-Storing) that you can easily integrate into your application. In this article, I will show you how to store BLOBs in a relational or non-relational database by using the [Database Provider](https://docs.abp.io/en/abp/latest/Blob-Storing-Database) ## What is Blob Storage ? @@ -13,35 +13,65 @@ Nowadays, storing large files such as users' profile pictures has become an important requirement in web applications. Storing such data in the database can negatively impact performance and increase the database size. To solve this problem, Blob storage services can be used. ABP Framework provides a powerful solution to handle such scenarios. So, how do we store user profile pictures with Blob Storage using ABP Framework? -- #### Step 1: Blob Container Identification +- #### Step 1: Configure the Blob Container The first step is to define a Blob Container for storing profile pictures. The Blob Container represents the storage space that will be used to store the profile pictures. - ![Step 1](./images/step1.png) +````csharp + public class ProfilePictureContainer : IBlobContainer +{ + public string Name => "profile-pictures"; +} +```` +- #### Step 2: Create the ProfileAppService (Saving & Reading BLOBs) -- #### Step 2: Create ProfileAppService +Create the `ProfileAppService` class and derive it from the `ApplicationService` class. This class will perform the necessary operations to store and retrieve profile pictures. -Create the ProfileAppService class and derive it from the ApplicationService class. This class will perform the necessary operations to store and retrieve profile pictures. +````csharp +using Volo.Abp.Application.Services; - ![Step 2](./images/step2.png) +public class ProfileAppService : ApplicationService +{ + // Code snippets will come here +} +```` -- #### Step 3: Blob Container Connection +- #### Step 3: Inject the `IBlobContainer` Service -In the constructor method, inject the dependency into the IBlobContainer interface. This interface is used to interact with the Blob Container. +Inject the `IBlobContainer` service, in the constructor of the `ProfileAppService` class. The `IBlobContainer` is the main interface to store and read BLOB and is used to interact with the container. - ![Step 3](./images/step3.png) +````csharp +private readonly IBlobContainer _blobContainer; + +public ProfileAppService(IBlobContainer blobContainer) +{ + _blobContainer = blobContainer; +} +```` - #### Step 4: Save Profile Picture The SaveProfilePictureAsync method is used to store the user's profile picture. A unique name is generated based on the user's credentials and the profile picture byte array with this name is saved in the Blob Container. - ![Step 4](./images/step4.png) +````csharp +public async Task SaveProfilePictureAsync(byte[] bytes) +{ + var blobName = CurrentUser.GetId().ToString(); + await _blobContainer.SaveAsync(blobName, bytes); +} +```` - #### Step 5: Getting Profile Picture The GetProfilePictureAsync method is used to get the user's profile picture. A profile picture byte array is retrieved from the Blob Container with a specified name based on the user's credential. - ![Step 5](./images/step5.png) +````csharp +public async Task GetProfilePictureAsync() +{ + var blobName = CurrentUser.GetId().ToString(); + return await _blobContainer.GetAllBytesOrNullAsync(blobName); +} +```` Finally, add controls in the user interface that will allow users to upload and view their profile pictures. These controls will perform the operations by calling the corresponding methods in the ProfileAppService class. @@ -49,7 +79,7 @@ Finally, add controls in the user interface that will allow users to upload and These steps cover the basic steps to store user profile pictures with Blob Storage using the ABP Framework. [Check out the documentation for more information.](https://docs.abp.io/en/abp/latest/Blob-Storing) -## What are the advantages/disadvantages of keeping in Blob Storage database? +## What are the Advantages/Disadvantages of Keeping the BLOBs in a Database? #### Advantages: @@ -68,7 +98,9 @@ These steps cover the basic steps to store user profile pictures with Blob Stora - Backup and Recovery Challenges: Storing blob data in a database can make backup and recovery difficult. The large size of blob data can make backup and recovery time-consuming and data recovery difficult. -## Information about Blob Storage entagrations +## Other Blob Storage Providers + +ABP Framework provides some other [pre-built storage providers](https://docs.abp.io/en/abp/latest/Blob-Storing#blob-storage-providers) besides the [Database Provider](https://docs.abp.io/en/abp/latest/Blob-Storing-Database) shown in this article: - Azure Blob Storage: A cloud storage service offered on the Microsoft Azure platform. It is used to store and access large amounts of data. It supports various data types such as files, images, videos and provides high scalability. To learn more about [Azure Blob Storage](https://docs.abp.io/en/abp/latest/Blob-Storing-Azure), visit the Azure Blob Storage page.