如何在 android 中上传 PDF 文件到服务器?

How to upload a PDF file to server in android?

我提到了一些以前问过的问题,但没有得到正确的答案solution.I 正在创建一个应用程序并希望通过从文件管理器中选择它来发送 PDF 文件。

感谢任何类型的帮助。

像这样使用Okhttp library,这是最简单的方法。但是你必须根据这个改变你的服务器(API或PHP)代码。

    RequestBody requestBody = new MultipartBody.Builder()
            .setType(MultipartBody.FORM)
            .addFormDataPart("variable", fileName1,
                    RequestBody.create(MediaType.parse(fileType1), file))
            .addFormDataPart("key", "")


            .build();
    Request request = new Request.Builder().url("server url goes here").post(requestBody).build();
    okhttp3.Call call = client.newCall(request);
    call.enqueue(new Callback() {

        @Override
        public void onFailure(Call call, IOException e) {
            System.out.println("Registration Error" + e.getMessage());
        }

        @Override
        public void onResponse(Call call, okhttp3.Response response) throws IOException {

            try {
                String resp = response.body().string();
                Log.v("Docs", resp);

            } catch (IOException e) {
                System.out.println("Exception caught" + e.getMessage());
            }
        }

    });

只有当您必须 select 来自图库的 PDF 文件时,您才需要更改这行代码。 intent.setType("application/pdf") 这将仅从图库中搜索 PDF 文件。

    Intent intent = new Intent();
    intent.setType("application/pdf");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select Pdf"), PDF);