تحميل ملف بتنسيق متعدد
تحميل الملفات عبر طلب 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 بمسار مطلق
client.SetOutputDirectory("/Users/tizi365/Downloads")
// إرسال طلب HTTP هنا وحفظ نتيجة الطلب في مسار الملف المعين بواسطة معلمة 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")