0

ここで助けが必要です。私は、あなたの進行状況に関する情報がサーバーに送信される Android ゲームに取り組んでいます。また、音声を録音する必要があります。ゲームは Google サーバーのブロブストアに送信されます。

Jsoup を使用してフォームをデータストアにアップロードすることができました。

私の問題は、私が行ったファイルアップロードアプリにさまざまな方法で物をアップロードしようとしてきたことです。失敗。

これは私の Google APP コード (python) です。それは私のブラウザーで完全に動作し、ブロブストアにファイルをアップロードするためのものです。基本的にはhttpファイルのPOSTフォームです

import os
import urllib

from google.appengine.ext import blobstore
from google.appengine.ext import webapp
from google.appengine.ext.webapp import blobstore_handlers
from google.appengine.ext.webapp import template
from google.appengine.ext.webapp.util import run_wsgi_app

class MainHandler(webapp.RequestHandler):
    def get(self):
        upload_url = blobstore.create_upload_url('/upload')
        self.response.out.write('<html><body>')
        self.response.out.write('<form action="%s" method="POST" enctype="multipart/form-data">' % upload_url)
        self.response.out.write("""Upload File: <input type="file" name="file"><br> <input type="submit" name="submit" value="Submit"> </form></body></html>""")

class UploadHandler(blobstore_handlers.BlobstoreUploadHandler):
    def post(self):
        upload_files = self.get_uploads('file')
        blob_info = upload_files[0]
        self.response.out.write('success!')
        #self.redirect('/')


app= webapp.WSGIApplication(
          [('/', MainHandler),
           ('/upload', UploadHandler),
          ], debug=True)

これは、私が物をアップロードするために使用しようとしてきたコードです。このコードは私のandorid電話で実行されます。

public static void sendF(File file)
{

    if (file.exists())
    {
        Log.e("msg", "exists");
    }
    else
    {
        Log.e("msg", "does not exists");
    }
    String url = "http://MYAPP.appspot.com/";
    HttpClient httpclient = AndroidHttpClient.newInstance("MyGame");



    HttpPost httpost = new HttpPost(url);
    MultipartEntity entity = new MultipartEntity();
    entity.addPart("file", new FileBody(file));
    httpost.setEntity(entity);
    HttpResponse response;
    try {
        response = httpclient.execute(httpost);
        Log.e("internet", EntityUtils.toString(response.getEntity()));
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

問題は:私はこれを取得し続けます

05-29 17:10:52.369: E/internet(1720):   <h1>405 Method Not Allowed</h1>
05-29 17:10:52.369: E/internet(1720):   The method POST is not allowed for this resource. <br /><br />

(ウェブブラウザからは使えますが、誰か助けてくれませんか?(よくわからなかったらごめんなさい)

4

1 に答える 1