4

RESTGoogle アプリ エンジン (HTML JPEG 画像のアップロード) のポスター python ライブラリを使用して、picloud の関数にファイルを送信しようとしています。しかし、関数はこのエラーをスローします:

{"error": {"msg": "関数の引数 (POST データ) は有効な JSON ではありません", "code": 446, "data": "{'parameter': u' filename'}", "retry":間違い}}

関数の出力エンコーディングを に設定しrawました。また、ドキュメントに従って詳細を確認しました。

関数の詳細の一部を次に示します。

関数名:detector(name,ifile) 画像ファイルとその名前の 2 つの引数を取ります

コードの関連部分を次に示します。

#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)

エラーが発生します

{"エラー": {"メッセージ": "文字セットが複数回定義されています", "コード": 445, "再試行": false}}

MultipartParamまた、個別のインスタンスではなく、パラメーターを辞書にラップしようとしました

助けてください。

4

1 に答える 1

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は 1 つの単語であることに注意してください。

于 2013-05-26T13:25:56.117 に答える