"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > गो में \"कंटेंट-टाइप: मल्टीपार्ट/फॉर्म-डेटा\" के साथ पोस्ट करते समय \"[301 301 स्थायी रूप से स्थानांतरित]\" त्रुटि का समाधान कैसे करें?

गो में \"कंटेंट-टाइप: मल्टीपार्ट/फॉर्म-डेटा\" के साथ पोस्ट करते समय \"[301 301 स्थायी रूप से स्थानांतरित]\" त्रुटि का समाधान कैसे करें?

2024-11-10 को प्रकाशित
ब्राउज़ करें:686

How to Resolve \

"सामग्री-प्रकार: मल्टीपार्ट/फॉर्म-डेटा" के साथ पोस्ट करना

जब "सामग्री-प्रकार:" के साथ एक POST अनुरोध भेजने का प्रयास किया जाता है मल्टीपार्ट/फॉर्म-डेटा," आपको "[301 301 स्थायी रूप से स्थानांतरित]" जैसे त्रुटि संदेश का सामना करना पड़ सकता है। यह समस्या आम तौर पर तब होती है जब आप किसी API पर बाइट पैरामीटर और स्ट्रिंग तर्क पोस्ट करने का प्रयास करते हैं।

इस त्रुटि को हल करने और मल्टीपार्ट/फॉर्म-डेटा के साथ POST अनुरोध को सफलतापूर्वक निष्पादित करने के लिए, आप अपने गो कोड को निम्नानुसार संशोधित कर सकते हैं:

func NewPostFile(url string, paramTexts map[string]interface{}, paramFile FileItem) ([]byte, error) {
    // Create a multipart body buffer and writer
    bodyBuf := &bytes.Buffer{}
    bodyWriter := multipart.NewWriter(bodyBuf)

    // Add string parameters
    for k, v := range paramTexts {
        bodyWriter.WriteField(k, v.(string))
    }

    // Add file parameter
    fileWriter, err := bodyWriter.CreateFormFile(paramFile.Key, paramFile.FileName)
    if err != nil {
        return nil, err
    }
    fileWriter.Write(paramFile.Content)

    // Set content type
    contentType := bodyWriter.FormDataContentType()

    // Close the writer
    bodyWriter.Close()

    resp, err := http.Post(url, contentType, bodyBuf)
    if err != nil {
        return nil, err
    }
    defer resp.Body.Close()

    // Handle response status
    if resp.StatusCode = 300 {
        b, _ := ioutil.ReadAll(resp.Body)
        return nil, fmt.Errorf("[%d %s]%s", resp.StatusCode, resp.Status, string(b))
    }

    // Read response data
    respData, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        return nil, err
    }

    return respData, nil
}

// Define FileItem type to represent file parameters
type FileItem struct {
    Key       string // e.g. "image_content"
    FileName  string // e.g. "test.jpg"
    Content   []byte // Byte array of the file
}

यह अद्यतन कोड POST अनुरोध को सही ढंग से बनाने के लिए मल्टीपार्ट लेखक के साथ मल्टीपार्ट/फॉर्म-डेटा सामग्री प्रकार का उपयोग करता है। सफल अनुरोध करने के लिए आप अपना एपीआई यूआरएल, पैरामीटर टेक्स्ट मैप और फ़ाइल आइटम न्यूपोस्टफ़ाइल फ़ंक्शन को प्रदान कर सकते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3