તમારી એપમાં ફાઇલ અપલોડ કેવી રીતે ઉમેરવું: સ્ટોરેજ, મર્યાદાઓ અને સુરક્ષા
તમારી એપમાં ફાઇલ અપલોડ ઉમેરવા માટે, ફાઇલોને ઑબ્જેક્ટ સ્ટોરેજ (બકેટ) માં સંગ્રહો, તમારા સર્વરની ડિસ્ક કે ડેટાબેઝમાં નહીં, અને ડેટાબેઝમાં ફાઇલની કી, નામ, કદ, પ્રકાર અને માલિક સાથે એક નાનો રેકોર્ડ સાચવો. ફાઇલનું કદ અને પ્રકાર સર્વર પર તપાસો, શરૂઆતમાં જ નક્કી કરો કે ફાઇલો જાહેર (જેમ કે પ્રોડક્ટ ફોટો) છે કે ખાનગી (જેમ કે ઇન્વૉઇસ), અને ખાનગી ફાઇલો ત્યારે જ આપો જ્યારે પૂછનારની ઓળખ ચકાસાઈ હોય. AI એપ બિલ્ડરમાં, તમે એક પ્રોમ્પ્ટમાં અપલોડ ફીચર વર્ણવી શકો છો; મહત્ત્વનો ભાગ એ ચકાસવું છે કે રીડિપ્લોય પછી ફાઇલો બચે છે અને ખોટી વ્યક્તિ તેને ખોલી ન શકે.
તમને કયા પ્રકારના અપલોડ જોઈએ છે તે નક્કી કરો
બનાવતા પહેલાં ત્રણ પ્રશ્નોના જવાબ આપો:
- કઈ ફાઇલો? પ્રોફાઇલ ફોટો, પ્રોડક્ટ ઇમેજ, PDF, સ્પ્રેડશીટ, ઑડિયો, વિડિયો. આ પ્રકાર અને કદની મર્યાદા નક્કી કરે છે.
- કોણ જોઈ શકે? દરેક વ્યક્તિ (જાહેર ગેલેરી) અથવા ફક્ત અપલોડ કરનાર અને એડમિન (કરાર, ઓળખપત્ર, ક્લાયન્ટ ફાઇલો).
- અપલોડ પછી શું થાય? ફક્ત સંગ્રહ, પ્રીવ્યૂ બતાવવો, ઇમેજનું કદ બદલવું, કે કન્ટેન્ટ વાંચવું.
જાહેર ઇમેજ અને ખાનગી ડોક્યુમેન્ટને અલગ સેટઅપ જોઈએ, એટલે આ પહેલા નક્કી કરો.
ફાઇલો ક્યાં રહેવી જોઈએ
| વિકલ્પ | તે કેવી રીતે કામ કરે છે | કેના માટે સારું | ધ્યાનમાં રાખો |
|---|---|---|---|
| ઑબ્જેક્ટ સ્ટોરેજ (બકેટ) | ફાઇલો તેના માટે બનાવેલી સેવામાં સંગ્રહાય; ડેટાબેઝ કી કે URL સંગ્રહે | લગભગ દરેક એપ | ઍક્સેસ નિયમો સાચા સેટ હોવા જોઈએ |
| પ્લેટફોર્મે આપેલો સ્ટોરેજ | તમારો એપ બિલ્ડર કે હોસ્ટ તમારા માટે બકેટ ચાલુ કરે | તે પ્લેટફોર્મ પર બનેલી એપ | મર્યાદાઓ અને કિંમત પ્લેટફોર્મ પ્રમાણે |
| સર્વર ડિસ્ક | એપ સર્વરની ફાઇલ સિસ્ટમ પર લખાયેલી ફાઇલો | ફક્ત લોકલ ડેવલપમેન્ટ | ઘણીવાર રીસ્ટાર્ટ કે રીડિપ્લોય પર સાફ થઈ જાય |
| ડેટાબેઝની અંદર | ટેબલમાં ફાઇલના બાઇટ્સ સંગ્રહ | લગભગ ક્યારેય નહીં | ડેટાબેઝ ફૂલાવે, બેકઅપ ધીમું કરે |
| થર્ડ-પાર્ટી અપલોડ વિજેટ | હોસ્ટેડ અપલોડર સેવા આખો ફ્લો સંભાળે | ભારે મીડિયા, ઇમેજ ટ્રાન્સફોર્મ | બીજો વિક્રેતા, એકાઉન્ટ અને બિલ |
મોટાભાગની એપ માટે, ઑબ્જેક્ટ સ્ટોરેજ વત્તા ડેટાબેઝ રેકોર્ડ સાચો જવાબ છે. ડેટાબેઝ રો એ છે જે તમારી એપ ક્વેરી કરે ("આ વપરાશકર્તાના ડોક્યુમેન્ટ બતાવો"); બકેટ ફક્ત બાઇટ્સ રાખે છે.
જાહેર વિરુદ્ધ ખાનગી ફાઇલો
- જાહેર ફાઇલો (પ્રોડક્ટ ફોટો, બ્લોગ ઇમેજ, અવતાર) જાહેર URL પરથી આપી શકાય. લિંક ધરાવનાર કોઈ પણ તેને ખોલી શકે, જે આ પ્રકારના કન્ટેન્ટ માટે બરાબર છે.
- ખાનગી ફાઇલો (ઇન્વૉઇસ, કરાર, તબીબી કે ઓળખ ડોક્યુમેન્ટ, ક્લાયન્ટ ડિલિવરેબલ) ક્યારેય અનુમાન કરી શકાય તેવી જાહેર URL ધરાવી ન શકે. સર્વર ચકાસે કે લોગ ઇન વપરાશકર્તા ફાઇલનો માલિક છે કે પરવાનગી ધરાવે છે, પછી કાં તો તેને સ્ટ્રીમ કરે અથવા સાઇન્ડ URL પાછી આપે: ફક્ત ટૂંકા સમય માટે કામ કરતી લિંક.
એક સામાન્ય અને ગંભીર બગ એ છે કે અનુમાન કરી શકાય તેવા નામવાળી ખાનગી ફાઇલો જાહેર બકેટમાં રાખવી. જે કોઈ /uploads/invoice-102.pdf નું અનુમાન કરે તેને બીજા કોઈનો ઇન્વૉઇસ મળી જાય છે.
ઉદાહરણ પ્રોમ્પ્ટ
જાહેર ઇમેજ અપલોડ:
એડમિનને દરેક પ્રોડક્ટ માટે વધુમાં વધુ 5 પ્રોડક્ટ ફોટો અપલોડ કરવા દો. JPG, PNG અને WebP દરેક 5 MB સુધી સ્વીકારો. ફાઇલો ફાઇલ સ્ટોરેજમાં સાચવો, દરેકની કી, કદ અને ક્રમ product_images ટેબલમાં સેવ કરો, અને રિમૂવ બટન સાથે થંબનેલ બતાવો. પ્રકાર અને કદ ફક્ત બ્રાઉઝરમાં નહીં, સર્વર પર ચકાસો.
ખાનગી ડોક્યુમેન્ટ અપલોડ:
લોગ ઇન થયેલા ક્લાયન્ટ માટે Documents પેજ ઉમેરો. ક્લાયન્ટ 20 MB સુધીની PDF અપલોડ કરી શકે. ફાઇલો ખાનગી છે: તેમને ફાઇલ સ્ટોરેજમાં સાચવો, માલિકની ID, મૂળ ફાઇલનામ, કદ અને અપલોડ સમય documents ટેબલમાં સેવ કરો, અને ફક્ત માલિક અને એડમિનને ડાઉનલોડ કરવા દો. ડાઉનલોડ પરવાનગી ચકાસતા સર્વર રૂટ દ્વારા જાય. આ ફાઇલો માટે ક્યારેય જાહેર URL ન આપો.
ઉપયોગી ફોલો-અપ:
અપલોડ દરમિયાન પ્રોગ્રેસ બાર બતાવો, અને ફાઇલ બહુ મોટી કે ખોટા પ્રકારની હોય તો સ્પષ્ટ ભૂલ બતાવો.
જ્યારે ડોક્યુમેન્ટ રો ડિલીટ થાય, ત્યારે સંગ્રહાયેલી ફાઇલ પણ ડિલીટ કરો.
સ્ટેપ બાય સ્ટેપ
- દરેક અપલોડ ફીલ્ડ માટે પ્રકાર અને કદની મર્યાદા પસંદ કરો. ચોક્કસ રહો: "20 MB સુધીની PDF", "ડોક્યુમેન્ટ" નહીં.
- સ્ટોરેજ ચાલુ કરો. AI બિલ્ડરમાં અપલોડ માગો, તે સ્ટોરેજ સેટ કરશે; બીજે ક્યાંય, બકેટ બનાવો અને તેની ક્રેડેન્શિયલ સર્વર-સાઇડ સિક્રેટ તરીકે ઉમેરો.
- ફાઇલ રેકોર્ડ માટે ડેટાબેઝ ટેબલ બનાવો: ID, માલિક, સ્ટોરેજ કી, મૂળ નામ, પ્રકાર, કદ, બનાવ્યાનો સમય.
- સર્વર પર અપલોડ રૂટ બનાવો: વપરાશકર્તા લોગ ઇન છે તે તપાસો, પ્રકાર અને કદ તપાસો, સુરક્ષિત સ્ટોરેજ કી બનાવો (વપરાશકર્તાના ફાઇલનામ નહીં), ફાઇલ સાચવો, રેકોર્ડ ઇન્સર્ટ કરો.
- ડાઉનલોડ કે પ્રદર્શનનો રસ્તો બનાવો: જાહેર ફાઇલો માટે જાહેર URL; ખાનગી માટે પરવાનગી તપાસતો રૂટ કે સાઇન્ડ URL.
- UI બનાવો: ફાઇલ પિકર, જરૂર હોય તો ડ્રેગ એન્ડ ડ્રોપ, પ્રોગ્રેસ, પ્રીવ્યૂ, ભૂલો.
- ડિલીટ સંભાળો જેથી રેકોર્ડ કાઢવાથી સંગ્રહાયેલી ફાઇલ પણ જાય.
- પરીક્ષણ કરો: અપલોડ કરો, રિલોડ કરો, રીડિપ્લોય કે પબ્લિશ કરો, અને ફાઇલ હજી લોડ થાય છે તે તપાસો. પછી બીજા વપરાશકર્તા તરીકે લોગ ઇન કરીને પહેલા વપરાશકર્તાની ખાનગી ફાઇલ ખોલવાનો પ્રયાસ કરો.
સામાન્ય ભૂલો
- અપલોડ સર્વરની ડિસ્ક પર લખવા. ડેવલપમેન્ટમાં ચાલે, પછી રીસ્ટાર્ટ કે રીડિપ્લોય પછી ફાઇલો ગાયબ.
- બ્રાઉઝરની ચકાસણી પર ભરોસો. ફાઇલ ઇનપુટની "accept" સેટિંગ સંકેત છે, સુરક્ષા નથી. પ્રકાર અને કદ સર્વર પર તપાસો.
- વપરાશકર્તાના ફાઇલનામને સ્ટોરેજ કી તરીકે વાપરવું. નામો અથડાય છે અને વિચિત્ર અક્ષરો ધરાવી શકે. અનન્ય કી બનાવો અને મૂળ નામ અલગ સાચવો.
- ખાનગી ફાઇલો માટે જાહેર બકેટ. ઉપર જુઓ; આ જ એ છે જે સમાચારમાં આવે છે.
- કોઈ પણ ફાઇલ પ્રકાર મંજૂર કરવો. તમારા ડોમેન પરથી પીરસાતી HTML કે SVG ફાઇલો કેટલાક સેટઅપમાં સ્ક્રિપ્ટ ચલાવી શકે. ફક્ત જરૂરી પ્રકાર સ્વીકારો.
- કદની કોઈ મર્યાદા ન હોવી. એક વિશાળ અપલોડ તમારી સ્ટોરેજ મર્યાદા ખાઈ શકે અથવા રિક્વેસ્ટને ટાઇમ-આઉટ કરી શકે.
- અનાથ ફાઇલો. ડેટાબેઝ રો ડિલીટ કરો પણ ફાઇલ નહીં, તો તમે જેના માટે ચૂકવો છો તે સ્ટોરેજ ધીમે ધીમે ભરાય છે.
- મોબાઇલ ભૂલવું. ફોન ફોટો મોટા હોઈ શકે અને HEIC જેવા ફોર્મેટમાં હોય; તેમને સ્વીકારવા કે કન્વર્ટ કરવા તે નક્કી કરો.
ચેકલિસ્ટ
- ફાઇલો ઑબ્જેક્ટ સ્ટોરેજમાં જાય છે, સર્વર ડિસ્ક કે ડેટાબેઝમાં નહીં
- દરેક ફાઇલનો ડેટાબેઝ રેકોર્ડ હોય, જેમાં માલિક, કી, નામ, પ્રકાર અને કદ હોય
- પ્રકાર અને કદ સર્વર પર તપાસાય છે
- સ્ટોરેજ કી જનરેટ થાય છે, ફાઇલનામમાંથી લેવાતી નથી
- ખાનગી ફાઇલો ફક્ત પરવાનગી ચકાસ્યા પછી આપાય છે
- બીજો વપરાશકર્તા લિંક હોય તો પણ તમારી ખાનગી ફાઇલો ખોલી શકે નહીં
- રેકોર્ડ ડિલીટ કરવાથી ફાઇલ પણ ડિલીટ થાય છે
- પબ્લિશ કે રીડિપ્લોય પછી ફાઇલો હજી લોડ થાય છે
- અપલોડ ભૂલો સ્પષ્ટ બતાવાય છે, ફોન પર પણ
Mythex માં ફાઇલ અપલોડ
Mythex તમને હાથે બકેટ ગોઠવવાની જરૂર ન પડે તે માટે, જ્યારે તમારી એપને અપલોડની જરૂર હોય ત્યારે પ્રોજેક્ટ માટે આપમેળે ફાઇલ સ્ટોરેજ ચાલુ કરી શકે છે. તમે ચેટમાં /storage પણ ટાઇપ કરી શકો છો. તે Free અને Pro બંનેમાં ઉપલબ્ધ છે, Free પર 1 GB ની મર્યાદા સાથે, અને તેની સ્થિતિ Settings → Storage હેઠળ જોઈ શકાય છે.
docs સ્પષ્ટ કહે છે કે પબ્લિશ થયેલું હોસ્ટિંગ ટકાઉ લોકલ ફાઇલ સિસ્ટમ નથી, એટલે ડિસ્ક પર સાચવવાને બદલે એજન્ટને પ્લેટફોર્મ સ્ટોરેજ વાપરવા કહો. સ્ટોર થયેલી ફાઇલો અને ડાઉનલોડનું ચાર્જ તમારા ક્રેડિટ બેલેન્સમાંથી કદ અને કેટલું ડાઉનલોડ થયું તેના આધારે થાય છે; Pro માં Free દર કરતાં અડધો ખર્ચ લાગે છે. docs માં File storage જુઓ.
અપલોડ સામાન્ય રીતે ફાઇલ રેકોર્ડ માટે ડેટાબેઝ અને ખાનગી ફાઇલો માટે લોગિન સાથે ચાલે છે. જો તમે એવી જગ્યા બનાવો જ્યાં ક્લાયન્ટ ડોક્યુમેન્ટની આપ-લે કરે, તો ક્લાયન્ટ પોર્ટલ કેવી રીતે બનાવવું જુઓ, અને લૉન્ચ પહેલાં સુરક્ષા ચેકલિસ્ટ ચલાવો.
પ્રશ્નો
અપલોડ થયેલી ફાઇલો ક્યાં સંગ્રહવી જોઈએ?
ઑબ્જેક્ટ સ્ટોરેજમાં (ફાઇલો માટે બનાવેલી સેવા, જેને ઘણીવાર બકેટ કહેવાય), એપ સર્વરની ડિસ્ક પર નહીં અને ડેટાબેઝની અંદર પણ નહીં. ડેટાબેઝમાં ફક્ત ફાઇલની કી કે URL, તેમજ નામ, કદ અને માલિક જેવી વિગતો સંગ્રહો.
પબ્લિશ કે રીડિપ્લોય કર્યા પછી મારી અપલોડ થયેલી ફાઇલો કેમ ગાયબ થાય છે?
મોટાભાગના હોસ્ટિંગ પ્લેટફોર્મ ટકાઉ લોકલ ડિસ્ક રાખતા નથી: એપ રીસ્ટાર્ટ કે રીડિપ્લોય થાય ત્યારે તેની ડિસ્ક પર લખાયેલી ફાઇલો ખોવાય છે. તેના બદલે અપલોડ ઑબ્જેક્ટ સ્ટોરેજમાં સાચવો.
અપલોડ થયેલી ફાઇલો ખાનગી કેવી રીતે રાખું?
ફાઇલોને જાહેરમાં વાંચી શકાય તેવી ન બનાવો. તમારો સર્વર ચકાસે કે લોગ ઇન વપરાશકર્તાને ફાઇલ જોવાની પરવાનગી છે, પછી તેને મોકલે અથવા તેની ટૂંકા સમયની સાઇન્ડ લિંક પાછી આપે.
શું Mythex ફાઇલ અપલોડને સપોર્ટ કરે છે?
હા. જ્યારે એપને અપલોડની જરૂર હોય ત્યારે Mythex પ્રોજેક્ટ માટે ફાઇલ સ્ટોરેજ ચાલુ કરી શકે છે, Free અને Pro બંનેમાં, Free પર 1 GB ની મર્યાદા સાથે. તમે એજન્ટને અપલોડ ફીચર માગી શકો છો અથવા /storage ટાઇપ કરી શકો છો.