загрузить файл с помощью http положить -T в Android? - PullRequest
2 голосов
/ 24 мая 2011


У меня есть класс Android, который использует http для вызова веб-службы REST.Но это создает пустую папку без содержимого, как мне это сделать?Когда я тестирую веб-сервис с помощью команды curl, он работает и может успешно загрузить.

curl -v -TC: \ downloads \ a.jpg -H "Тип содержимого: application / vnd.org.snia.cdmi.dataobject "http://192.168.37.241:8080/kyaw/ktest/a.jpg

открытый класс публичного класса расширяет действие {

    public void onCreate(Bundle savedInstanceState)
    {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    TextView txt = (TextView) findViewById(R.id.textView1);
    txt.setText(getInputStreamFromUrl("http://192.168.37.241:8080/kyaw/ktest/a.jpg"));
    }

    public static String getInputStreamFromUrl(String url) {
          String content = null;
          HttpResponse response = null;
          try {

DefaultHttpClient httpclient = new DefaultHttpClient();             
            HttpPut put=new HttpPut(url);
            File f=new File("C:\\downloads\\a.jpg");
            FileEntity reqEntity=new FileEntity(f,"images/jpg");
            put.setEntity(reqEntity);
            put.setHeader("Content-Type","application/vnd.org.snia.cdmi.dataobject");
            response = httpclient.execute(put);
            HttpEntity resEntity=response.getEntity();
            if(resEntity!=null)
            content = (EntityUtils.toString(resEntity));
          }catch (Exception e) {
            Log.e("PUT Exception", "java.lang.NullPointerException");
          }
            String result=response.getStatusLine().toString()+"\n"+content;

            return result;
        }
...