我是新來的python/django/tastypie,我正在嘗試做文件上傳。我感到很奇怪(對我來說)錯誤,我似乎無法弄清楚。每當我試着通過其他客戶端(CocoaRest客戶端),它的炸彈,出現以下錯誤上傳照片:Django/Tastypie圖片上傳 - 多部分無效邊界:無?
{
"error_message" : "Invalid boundary in multipart: None",
"traceback" : "Traceback (most recent call last):\n\n File \"/Users/crown/Documents/Sources/Virtualenvs/GOCApi/lib/python2.7/site-packages/tastypie/resources.py\", line 195, in wrapper\n response = callback(request, *args, **kwargs)\n\n File \"/Users/crown/Documents/Sources/GOCApi/api/resources/member.py\", line 85, in post_profile_picture\n if('image' in request.FILES):\n\n File \"/Users/crown/Documents/Sources/Virtualenvs/GOCApi/lib/python2.7/site-packages/django/core/handlers/wsgi.py\", line 214, in _get_files\n self._load_post_and_files()\n\n File \"/Users/crown/Documents/Sources/Virtualenvs/GOCApi/lib/python2.7/site-packages/django/http/request.py\", line 217, in _load_post_and_files\n self._post, self._files = self.parse_file_upload(self.META, data)\n\n File \"/Users/crown/Documents/Sources/Virtualenvs/GOCApi/lib/python2.7/site-packages/django/http/request.py\", line 176, in parse_file_upload\n parser = MultiPartParser(META, post_data, self.upload_handlers, self.encoding)\n\n File \"/Users/crown/Documents/Sources/Virtualenvs/GOCApi/lib/python2.7/site-packages/django/http/multipartparser.py\", line 69, in __init__\n raise MultiPartParserError('Invalid boundary in multipart: %s' % boundary)\n\nMultiPartParserError: Invalid boundary in multipart: None\n"
}
我已經報頭中設置「內容類型:多部分/表單數據」,以及有一個文件添加到文件選項卡。
這裏是我的方法,我從客戶端調用:
def post_profile_picture(self, request, *args, **kwargs):
if(request.method == 'POST'):
if(str(request.META['CONTENT_TYPE']) != "multipart/form-data"):
return self.create_response(request, HelperMethods.api_return_msg("Unsupported media type"), response_class=http.HttpBadRequest)
else:
if('image' in request.FILES):
#bunch of code removed
return self.create_response(request, {"profile_img" : profile_img_key_name, "thumb_img" : thumb_img_key_name}, response_class=http.HttpResponse)
else:
return self.create_response(request, HelperMethods.api_return_msg("No image found"), response_class=http.HttpBadRequest)
else:
return self.create_response(request, HelperMethods.api_return_msg("Method not allowed"), response_class=http.HttpMethodNotAllowed)
當我如果(在request.FILES「圖像」)前執行打印(要求),我沒有得到同樣的錯誤,它實際上跳到我的其他地方並打印出「找不到圖像」,這很奇怪,它不會以同樣的方式炸燬。
我不知道還有什麼我需要做的,添加更多的標題?設置一個「邊界」(不知道這是什麼)...任何幫助,非常感謝。我願意嘗試並在此發佈結果以獲得更好的幫助。謝謝!