Java 将照片上传到Blobstore GAE

Java 将照片上传到Blobstore GAE,java,android,google-app-engine,rest,blobstore,Java,Android,Google App Engine,Rest,Blobstore,首先,我是法国人,请原谅我的英语。。我到处寻找我的答案,但没有成功。。我是Android和Java语言的初学者 我想将照片从我的android应用程序上传到Blobstore。我读了这篇文章,并成功地将其应用于: 但我不知道如何在我的android应用程序中编写代码将照片上传到blobstore 这是我的密码: service.java public class Serve extends HttpServlet { private BlobstoreService blobst

首先,我是法国人,请原谅我的英语。。我到处寻找我的答案,但没有成功。。我是Android和Java语言的初学者

我想将照片从我的android应用程序上传到Blobstore。我读了这篇文章,并成功地将其应用于:

但我不知道如何在我的android应用程序中编写代码将照片上传到blobstore

这是我的密码:

service.java

public class Serve extends HttpServlet {
    private BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();

    @Override
    public void doGet(HttpServletRequest req, HttpServletResponse res)
        throws IOException {
            BlobKey blobKey = new BlobKey(req.getParameter("blob-key"));
            blobstoreService.serve(blobKey, res);
        }
}
public class Upload extends HttpServlet {
    private BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();

    @Override
    public void doPost(HttpServletRequest req, HttpServletResponse res)
        throws ServletException, IOException {

        Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req);
        BlobKey blobKey = blobs.get("myFile");

        if (blobKey == null) {
            res.sendRedirect("/");
        } else {
            res.sendRedirect("/serve?blob-key=" + blobKey.getKeyString());
        }
    }
}
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        new LongOperation().execute("");
    }

     private class LongOperation extends AsyncTask<String, Void, String> {
            @Override
            protected String doInBackground(String... params) {

                // Create a new HttpClient and Post Header
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost("http://1-dot-ptm-blobstore.appspot.com/upload");

                try {

                    // Execute HTTP Post Request
                    HttpResponse response = httpclient.execute(httppost);

                } catch (ClientProtocolException e) {
                    // TODO Auto-generated catch block
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                }   


                return null;

            }
        }
}
Upload.java

public class Serve extends HttpServlet {
    private BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();

    @Override
    public void doGet(HttpServletRequest req, HttpServletResponse res)
        throws IOException {
            BlobKey blobKey = new BlobKey(req.getParameter("blob-key"));
            blobstoreService.serve(blobKey, res);
        }
}
public class Upload extends HttpServlet {
    private BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();

    @Override
    public void doPost(HttpServletRequest req, HttpServletResponse res)
        throws ServletException, IOException {

        Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req);
        BlobKey blobKey = blobs.get("myFile");

        if (blobKey == null) {
            res.sendRedirect("/");
        } else {
            res.sendRedirect("/serve?blob-key=" + blobKey.getKeyString());
        }
    }
}
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        new LongOperation().execute("");
    }

     private class LongOperation extends AsyncTask<String, Void, String> {
            @Override
            protected String doInBackground(String... params) {

                // Create a new HttpClient and Post Header
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost("http://1-dot-ptm-blobstore.appspot.com/upload");

                try {

                    // Execute HTTP Post Request
                    HttpResponse response = httpclient.execute(httppost);

                } catch (ClientProtocolException e) {
                    // TODO Auto-generated catch block
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                }   


                return null;

            }
        }
}
但我真的不知道我现在该做什么?你能帮我吗
提前谢谢

这里有一个简单的解决方案:

另一种方法是使用云端点,即创建REST API端点并使用它发布应用程序中的图像数据:

另外,更高级的示例是Mobile Backend Starter,它为您提供了一些更酷的功能:

以下是一篇关于移动后端启动器的文章:

通过Google云端点将移动开发者连接到云