Android Okhttp提交 select file、文件、二进制数据

// 导入相关类库
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class FileUploadExample {
    
    
    public static void main(String[] args) throws Exception {
    
    
        // 创建 OkHttpClient 对象
        OkHttpClient client = new OkHttpClient();
        
        // 构造 MultipartBody 对象来包装要上传的文件数据
        MediaType mediaType = MediaType.parse("multipart/form-data");
        String fileName = "example_file"; // 设置文件名称
        RequestBody requestFile = RequestBody.create(mediaType, new File("/path/to/your/file"));
        MultipartBody multipartBody = new MultipartBody.Builder()
                .setType(MultipartBody.FORM)
                .addFormDataPart("file", fileName, requestFile)
                .build();

		//如果需要加请求头可以这么写
		//Request.Builder builder = new Request.Builder().url(url);
        //builder.addHeader("appid",appId);

        // 发送 POST 请求
        Request request = new Request.Builder()
                .url("https://api.example.com/upload") // 设置目标 URL
                .post(multipartBody)
                .build();
        Response response = client.newCall(request).execute();
        
        if (response.isSuccessful()) {
    
    
            System.out.println("文件上传成功!");
        } else {
    
    
            System.err.println("文件上传失败。错误信息:" + response.body().string());
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_27494201/article/details/135340483