1
HttpClient httpclient1 = new DefaultHttpClient();

HttpParams p=new BasicHttpParams();

p.setParameter("vname",name);
p.setParameter("address", addr);
p.setParameter("age", age);
p.setParameter("contact", cnct);
p.setParameter("gender", gen);
p.setParameter("whomto", wtm);
p.setParameter("myFile", f);

HttpPost res1=new HttpPost(result);
res1.setHeader("Content-Type", "text/plain");
res1.setHeader("Content-Type","image/jpeg");

HttpResponse response1 = httpclient1.execute(res1);
HttpEntity entity1 = response1.getEntity();
i1 = entity1.getContent();
BufferedReader reader1 = new BufferedReader(new InputStreamReader(i1,"iso-8859-1"),8);
StringBuilder sb1 = new StringBuilder();
String line1 = null;

if((line1 = reader1.readLine()) != null) {

    sb1.append(line1);
    back=sb1.toString();
}
else{
    Log.e("GET data","null");
}
i1.close();
Log.e("GET",""+back);  

//サーバー コード private BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();

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

    res.setContentType("text/html");

    Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req);
    BlobKey blobKey = blobs.get("myFile");
    final BlobInfo blobInfo = new BlobInfoFactory().loadBlobInfo(new BlobKey(blobKey.getKeyString()));
    System.out.println(blobInfo.getContentType());
    if(!blobInfo.getContentType().equalsIgnoreCase("image/jpeg")){
        blobstoreService.delete(blobInfo.getBlobKey());
        res.getWriter().println("Please Provide JPG image only");

    }       

他のデータを含む 1 つの画像ファイルをサーバーに送信しています。エラーや例外は発生していませんが、「バック」を印刷すると、ログに「この URL ではリクエストのコンテンツ タイプが受け入れられません」と表示されます。「f」は私の画像ファイルです..何が問題なのですか?

4

2 に答える 2

0

あなたの質問と同様の質問に対する私の回答を見てください:リンク これにより、サーバー側のコードを記述したり、Android アプリにデータを送信させたりする手間が省けます。それに画像。

于 2012-08-09T07:41:34.740 に答える