यह अध्याय Go Resty पुस्तकालय का उपयोग करके फ़ाइल अपलोड और डाउनलोड करने के तरीके को पेश करता है।

मल्टीपार्ट फ़ाइल अपलोड

Multipart POST अनुरोध के माध्यम से फ़ाइल अपलोड करें

// सबसे पहले दो फ़ाइलें पढ़ें
profileImgBytes, _ := os.ReadFile("/Users/jeeva/test-img.png")
notesBytes, _ := os.ReadFile("/Users/jeeva/text-file.txt")

// एक Resty क्लाइंट बनाएं
client := resty.New()

// अपलोड के लिए फ़ाइल और पैरामीटरों को स्वचालित रूप से सेट करने के लिए SetFileReader का उपयोग करें
// अन्य फ़ॉर्म पैरामीटरों को सेट करने के लिए SetFormData का उपयोग करें
resp, err := client.R().
      SetFileReader("profile_img", "test-img.png", bytes.NewReader(profileImgBytes)).
      SetFileReader("notes", "text-file.txt", bytes.NewReader(notesBytes)).
      SetFormData(map[string]string{
          "first_name": "जीवानंदम",
          "last_name": "एम",
      }).
      Post("http://www.tizi365.com/upload")

स्थानीय फ़ाइलों को सीधे अपलोड करें

यह पहले वाले से अधिक सुविधाजनक है, क्योंकि इसमें फ़ाइल को पढ़ने की आवश्यकता नहीं है।

// एक Resty क्लाइंट बनाएं
client := resty.New()

// अपलोड करने के लिए SetFile का उपयोग करें और बाउंड अनुरोध पैरामीटर फ़ील्ड को सेट करें
resp, err := client.R().
      SetFile("profile_img", "/Users/jeeva/test-img.png").
      Post("http://myapp.com/upload")

// SetFiles का उपयोग करके फ़ाइलों को बैच में अपलोड करें
resp, err := client.R().
      SetFiles(map[string]string{
        "profile_img": "/Users/jeeva/test-img.png",
        "notes": "/Users/jeeva/text-file.txt",
      }).
      Post("http://myapp.com/upload")

// बैच में फ़ाइलों को अपलोड करें और उन्हें एक साथ अन्य फ़ॉर्म पैरामीटरों को सेट करें
resp, err := client.R().
      SetFiles(map[string]string{
        "profile_img": "/Users/jeeva/test-img.png",
        "notes": "/Users/jeeva/text-file.txt",
      }).
      SetFormData(map[string]string{
          "first_name": "जीवानंदम",
          "last_name": "एम",
          "zip_code": "00001",
          "city": "मेरा शहर",
          "access_token": "C6A79608-782F-4ED0-A11D-BD82FAD829CD",
      }).
      Post("http://myapp.com/profile")

फ़ाइलें डाउनलोड करें

// एक Resty क्लाइंट बनाएं
client := resty.New()

// फ़ाइल आउटपुट निर्देशिका सेट करें, अगर वह मौजूद नहीं है तो Resty स्वचालित रूप से उसे बनाएगा
// यदि SetOutput पैरामीटर के साथ एक सबसे सत्यापित पथ सेट किया गया है तो यह सेट करना वैकल्पिक है।
_, err := client.R().
          SetOutput("plugin/ReplyWithHeader-v5.1-beta.zip").
          Get("http://bit.ly/1LouEKr")

// एक साथ फ़ाइल डाउनलोड करने के एक वास्तविक पथ का उपयोग करने का उदाहरण
_, err := client.R().
          SetOutput("/MyDownloads/plugin/ReplyWithHeader-v5.1-beta.zip").
          Get("http://bit.ly/1LouEKr")