यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
अटैचमेंट फ़ील्ड और फ़ाइल संग्रह दोनों के लिए फ़ाइल अपलोड को HTTP API के ज़रिए संभाला जा सकता है। अटैचमेंट या फ़ाइल संग्रह द्वारा उपयोग किए जा रहे स्टोरेज इंजन के आधार पर, इन्हें कॉल करने के तरीके अलग-अलग होते हैं।
प्रोजेक्ट में पहले से मौजूद S3, OSS, और COS जैसे ओपन-सोर्स स्टोरेज इंजन के लिए, HTTP API कॉल और यूज़र इंटरफ़ेस अपलोड फ़ंक्शन एक जैसे ही काम करते हैं, और फ़ाइलें सर्वर के ज़रिए अपलोड होती हैं। API को कॉल करने के लिए आपको Authorization रिक्वेस्ट हेडर में यूज़र लॉगिन पर आधारित JWT टोकन भेजना होगा, नहीं तो एक्सेस नहीं मिलेगा।
attachments संसाधन पर create क्रिया शुरू करके, आप POST रिक्वेस्ट भेज सकते हैं और file फ़ील्ड के ज़रिए बाइनरी कंटेंट अपलोड कर सकते हैं। इस कॉल के बाद, फ़ाइल डिफ़ॉल्ट स्टोरेज इंजन में अपलोड हो जाएगी।
अगर आप किसी अलग स्टोरेज इंजन में फ़ाइल अपलोड करना चाहते हैं, तो आप attachmentField पैरामीटर का इस्तेमाल करके संग्रह फ़ील्ड के लिए कॉन्फ़िगर किए गए स्टोरेज इंजन को बता सकते हैं (अगर कोई कॉन्फ़िगरेशन नहीं है, तो यह डिफ़ॉल्ट स्टोरेज इंजन में अपलोड हो जाएगी)।
किसी फ़ाइल संग्रह में अपलोड करने पर अपने आप एक फ़ाइल रिकॉर्ड बन जाता है। इसके लिए, आप फ़ाइल संग्रह संसाधन पर create क्रिया शुरू करें, POST रिक्वेस्ट भेजें और file फ़ील्ड के ज़रिए बाइनरी कंटेंट अपलोड करें।
फ़ाइल संग्रह में अपलोड करते समय, आपको स्टोरेज इंजन बताने की ज़रूरत नहीं होती; फ़ाइल अपने आप उस संग्रह के लिए कॉन्फ़िगर किए गए स्टोरेज इंजन में अपलोड हो जाती है।
कमर्शियल प्लगइन S3-Pro के ज़रिए उपलब्ध कराए गए S3-कम्पेटिबल स्टोरेज इंजन के लिए, HTTP API अपलोड को कई चरणों में करना पड़ता है।
स्टोरेज इंजन की जानकारी प्राप्त करें
storages संग्रह पर getBasicInfo क्रिया शुरू करें और स्टोरेज नाम के साथ स्टोरेज इंजन की कॉन्फ़िगरेशन जानकारी का अनुरोध करें।
लौटाई गई स्टोरेज इंजन कॉन्फ़िगरेशन जानकारी का उदाहरण:
सेवा प्रदाता से प्री-साइन्ड जानकारी प्राप्त करें
fileStorageS3 संसाधन पर createPresignedUrl क्रिया शुरू करें, POST रिक्वेस्ट भेजें और बॉडी में फ़ाइल से संबंधित जानकारी शामिल करें, ताकि प्री-साइन्ड अपलोड जानकारी मिल सके।
ध्यान दें:
- name: फ़ाइल का नाम
- size: फ़ाइल का आकार (बाइट्स में)
- type: फ़ाइल का MIME प्रकार। आप यहाँ देख सकते हैं: सामान्य MIME प्रकार
- storageId: स्टोरेज इंजन की ID (पहले चरण में लौटाई गई
idफ़ील्ड)- storageType: स्टोरेज इंजन का प्रकार (पहले चरण में लौटाई गई
typeफ़ील्ड)रिक्वेस्ट डेटा का उदाहरण:
प्राप्त प्री-साइन्ड जानकारी का डेटा स्ट्रक्चर इस प्रकार है:
फ़ाइल अपलोड
लौटाई गई putUrl का इस्तेमाल करके PUT रिक्वेस्ट भेजें और फ़ाइल को बॉडी के रूप में अपलोड करें।
ध्यान दें:
- putUrl: पिछले चरण में लौटाई गई
putUrlफ़ील्ड- file_path: अपलोड की जाने वाली स्थानीय फ़ाइल का पाथ
रिक्वेस्ट डेटा का उदाहरण:
फ़ाइल रिकॉर्ड बनाएँ
सफलतापूर्वक अपलोड होने के बाद, attachments संसाधन पर create क्रिया शुरू करके, POST रिक्वेस्ट भेजें और फ़ाइल रिकॉर्ड बनाएँ।
data-raw में निर्भर डेटा का विवरण:
- title: पिछले चरण में लौटाई गई
fileInfo.titleफ़ील्ड- filename: पिछले चरण में लौटाई गई
fileInfo.keyफ़ील्ड- extname: पिछले चरण में लौटाई गई
fileInfo.extnameफ़ील्ड- path: डिफ़ॉल्ट रूप से खाली
- size: पिछले चरण में लौटाई गई
fileInfo.sizeफ़ील्ड- url: डिफ़ॉल्ट रूप से खाली
- mimetype: पिछले चरण में लौटाई गई
fileInfo.mimetypeफ़ील्ड- meta: पिछले चरण में लौटाई गई
fileInfo.metaफ़ील्ड- storageId: पहले चरण में लौटाई गई
idफ़ील्डरिक्वेस्ट डेटा का उदाहरण:
पहले तीन चरण अटैचमेंट फ़ील्ड अपलोड के जैसे ही हैं, लेकिन चौथे चरण में आपको फ़ाइल रिकॉर्ड बनाना होगा। इसके लिए, आप फ़ाइल संग्रह संसाधन पर create क्रिया शुरू करें, POST रिक्वेस्ट भेजें और बॉडी के ज़रिए फ़ाइल जानकारी अपलोड करें।
data-raw में निर्भर डेटा का विवरण:
- title: पिछले चरण में लौटाई गई
fileInfo.titleफ़ील्ड- filename: पिछले चरण में लौटाई गई
fileInfo.keyफ़ील्ड- extname: पिछले चरण में लौटाई गई
fileInfo.extnameफ़ील्ड- path: डिफ़ॉल्ट रूप से खाली
- size: पिछले चरण में लौटाई गई
fileInfo.sizeफ़ील्ड- url: डिफ़ॉल्ट रूप से खाली
- mimetype: पिछले चरण में लौटाई गई
fileInfo.mimetypeफ़ील्ड- meta: पिछले चरण में लौटाई गई
fileInfo.metaफ़ील्ड- storageId: पहले चरण में लौटाई गई
idफ़ील्डरिक्वेस्ट डेटा का उदाहरण: