我正在尝试通过REST
将图片发送到picloud上的一个函数,并在google app引擎上播放海报python库(HTML JPEG图片上传)。但该函数抛出此错误:
{“error”:{“msg”:“函数参数(POST数据)无效JSON”,“code”:446,“data”:“{'parameter':u'filename'}”,“重试“:false}}
我已将函数的输出编码设置为raw
,我也按照文档详细说明。
以下是一些功能细节。
功能名称:detector(name,ifile)
采用两个参数,一个图像文件及其名称
以下是代码的相关部分:
#all needed classes and libraries have been imported,urlfetch, poster,MultipartParam class ect.
#here we go!
params=[]
params.append(MultipartParam("Imagename",filename="anyname.jpg",filetype="application/octet-stream",value=some_file_uploaded_via_html_form))
#http_headers has been defined with appropriate autorization credentials
datagen,headers=multipart.encode(params)
data=str().join(datagen)
result=urlfetch.fetch(url=my_defined_function_url,payload=data,method=urlfetch.POST,headers=http_headers)
print result.content
当我添加以下行时,为了包含实际的函数参数
params.append(MultipartParam('name',value=filename_variable)
params.append(MultipartParam('ifile',value=some_file_uploaded_via_html_form)
我收到错误
{“error”:{“msg”:“charset已定义多次”,“code”:445,“retry”:false}}
我还尝试将参数包装在字典中,而不是单独的MultipartParam
实例
请帮忙。
答案 0 :(得分:1)
你的论证中有一个空格:
params.append(MultipartParam('ifile',value=some_file_uploaded_via_html _form)
这应该是:
params.append(MultipartParam('ifile',value=some_file_uploaded_via_html_form)
请注意,some_file_uploaded_via_html_form
只有一个字。