Android如何将pdf文件写入byteArrayBody以将其发送到服务器

asa*_*azi 2 android http-post

我使用以下代码片段进行图像发送.如何发送DOC,mp4文件等应该怎么做

         MultipartEntityBuilder multipartEntity;

        String URL = "My server url";

        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
         Bitmap   bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
            bitmap.compress(CompressFormat.JPEG, 75, byteArrayOutputStream); 
            byte[] byteData = byteArrayOutputStream.toByteArray();

            //String strData = Base64.encodeToString(data, Base64.DEFAULT); // I have no idea why Im doing this
            ByteArrayBody byteArrayBody = new ByteArrayBody(byteData, "image"); // second parameter is the name of the image (//TODO HOW DO I MAKE IT USE THE IMAGE FILENAME?)

            // send the package
            multipartEntity = MultipartEntityBuilder.create();
            multipartEntity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
            multipartEntity.addPart("image", byteArrayBody);


            webclient.getResponceFromWebService(URL, multipartEntity);
Run Code Online (Sandbox Code Playgroud)

Ume*_*ani 7

您提到的上述代码适用于图像,尽管只有两行代码可以实现您想要的功能

    File f = new File("YOUR FILE PATH GOES HERE");
    byte[] data = FileUtils.readFileToByteArray(f);
Run Code Online (Sandbox Code Playgroud)

这是你的代码用文件路径调整上面提到的这两行代码

    MultipartEntityBuilder multipartEntity;

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
            R.drawable.amd);
    bitmap.compress(CompressFormat.JPEG, 75, byteArrayOutputStream);
    byte[] byteData = byteArrayOutputStream.toByteArray();


    ByteArrayBody byteArrayBody = new ByteArrayBody(byteData, "image");

    // send the package
    multipartEntity = MultipartEntityBuilder.create();
    multipartEntity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
    multipartEntity.addPart("image", byteArrayBody);
Run Code Online (Sandbox Code Playgroud)