मेरे प्रोजेक्ट में, मेरे पास अनुरोध के जवाब से बाइट स्लाइस है।
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
log.Println("StatusCode为" + strconv.Itoa(resp.StatusCode))
return
}
respByte, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Println("fail to read response data")
return
}
यह काम करता है, लेकिन अगर मैं प्रतिक्रिया के लिए शरीर प्राप्त करना चाहता हूं io.Reader
, तो मैं कैसे परिवर्तित करूं? मैंने newreader / लेखक की कोशिश की, लेकिन सफल नहीं था।
—
ANisus
@ अर्जन याप ~ शरीर ... मैं बेस क्लास में io.reader के रूप में प्रतिक्रिया प्राप्त करना चाहता हूं। लेकिन जब मैं अनुरोध समाप्त करता हूं, तो प्रतिक्रिया मारी गई है .. बस एक प्रतिक्रिया बॉडी को [] बाइट के रूप में सहेजें।
—
विल्सन
@Anisus मैं कोशिश करूँगा .... thx दोस्त..इस तरह ... यह अलग तरह का दिख रहा है ..
—
Chan Willson
@ChanWillson: यह आवश्यकता अधिक समझ में आती है, इसे बंद करने के बाद शरीर को नहीं पढ़ा जा सकता है। जैसा कि सुझाव दिया गया है कि
—
अर्जन
*bytes.Reader
कौन सा io.Reader
इंटरफ़ेस लागू करता है।
io.Reader
? उस मामले में resp.Body पहले से ही उस प्रकार का है।