在Python文件我寫了這個代碼:寫圖像從網站
class uploadfromfile:
def POST(self, name=None):
filename = ''.join(random.choice('abcdefghijklmnopqrstuvwxyz') for i in range(20))
x = web.input(upfile={})
f = open(filename, 'w')
f.write(x['upfile'].value)
f.close()
imgFromFile(filename)
return "some html"
但它不工作。我得到一個巨大的錯誤,以此結束:UnicodeDecodeError:'utf8'編解碼器無法解碼位置15中的字節0xff:無效起始字節
錯誤似乎到達f.write(x ['upfile'])。價值),我不能爲了我的生活找出原因。任何想法出了什麼問題?我知道該值是在該變量中,因爲如果我只是返回它,圖像將顯示在我的瀏覽器中。
如果它是一個圖像,你可能應該打開文件'wb'作爲第一步的二進制。 – TheSentinel
@TheSentinel:由於這很可能是OP的實際問題,因此您應該將其作爲答案(並解釋原因)。 – abarnert
@ user1624005:這裏的另一種可能性是你沒有正確地上傳表單,所以你得到一個'值',認爲它是Unicode文本而不是二進制數據。如果您發佈了'form'屬性(我們不需要子節點,只是屬性),並告訴我們:Python 2或3,這將有助於診斷您的問題?哪個'web.py'版本? Windows還是Unix? – abarnert