以下是一个简单的 Java 上传文件的示例代码,使用 Apache HttpClient 和 Apache Commons IO 库:

import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.DefaultHttpClient;

public class FileUploader {

    public static void main(String[] args) throws IOException {
        // 上传的文件
        File file = new File('path/to/file.jpg');

        // 上传的URL
        String uploadUrl = 'http://example.com/upload';

        // 创建一个HTTP客户端
        HttpClient client = new DefaultHttpClient();

        // 创建一个POST请求
        HttpPost post = new HttpPost(uploadUrl);

        // 创建一个多部件实体构建器
        MultipartEntityBuilder builder = MultipartEntityBuilder.create();

        // 设置编码模式为BROWSER_COMPATIBLE,以确保文件名正确
        builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);

        // 添加文件部件
        builder.addBinaryBody('file', file);

        // 构建多部分实体
        HttpEntity entity = builder.build();

        // 设置请求实体
        post.setEntity(entity);

        // 执行POST请求
        HttpResponse response = client.execute(post);

        // 输出响应结果
        System.out.println(response.getStatusLine().getStatusCode());
        System.out.println(response.getEntity().getContent());
    }
}

需要注意的是,这个示例使用了 Apache HttpClient 和 Apache Commons IO 库。在实际使用中,可能需要根据具体情况进行调整。

Java 文件上传代码示例 - 使用 HttpClient 和 Commons IO

原文地址: https://www.cveoy.top/t/topic/lVjM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录