gpt4 book ai didi

java - 使用 Android 应用程序将文件上传到我的 Google API 项目

转载 作者:行者123 更新时间:2023-12-01 14:31:46 25 4
gpt4 key购买 nike

我需要一些帮助。我一直在开发一款 Android 游戏,其中一些有关您进度的信息会发送到服务器。此外,您还需要录制您的声音,游戏将发送到我的 Google 服务器上的 blobstore。

我设法使用 Jsoup 将表单上传到我的数据存储区。

我的问题是我一直在尝试以各种方式将内容上传到我所做的文件上传应用程序。没有成功。

这是我的 Google APP 代码 (python)。它在我的浏览器上完美运行,并且可以将文件上传到我的 blobstore。基本上它是一个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 />

(虽然我可以通过网络浏览器使用它。有人可以帮助我吗?(抱歉,如果我不清楚)

最佳答案

我发现 JSoup 有一个错误,它无法正确处理重定向。它不会将请求传输为 GET,而是将其保留为 POST。根据规范,这是无效的。

关于java - 使用 Android 应用程序将文件上传到我的 Google API 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16825091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com