Загрузить файл на веб-сервер с приложением Java - PullRequest
0 голосов
/ 31 декабря 2011

Я нашел этот небольшой фрагмент кода для загрузки файлов с помощью библиотеки Apache Commons FileUpload.Однако он загружает файлы не как multipart / form-data, а как обычные данные POST.Любые предложения, как я должен сделать это, чтобы иметь возможность использовать PHP move_uploaded_file для сохранения файла?

HttpClient httpclient = new DefaultHttpClient();
try
{
    HttpPost httppost = new HttpPost("http://www.example.com/upload.php");

    FileBody bin = new FileBody(new File("/path/to/file"));
    StringBody comment = new StringBody("A binary file of some kind");

    MultipartEntity reqEntity = new MultipartEntity();
    reqEntity.addPart("bin", bin);
    reqEntity.addPart("comment", comment);

    httppost.setEntity(reqEntity);

    System.out.println("executing request " + httppost.getRequestLine());
    HttpResponse uploadResponse = httpclient.execute(httppost);
    HttpEntity resEntity = uploadResponse.getEntity();

    System.out.println(uploadResponse.getStatusLine());
    if (resEntity != null)
    {
        System.out.println("Response content length: " + resEntity.getContentLength());
    }
    EntityUtils.consume(resEntity);
}
finally
{
    try { httpclient.getConnectionManager().shutdown(); } catch (Exception ignore) {}
}
...