有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java HttpUrlConnection无法上载文件

您好,我正在尝试使用HttpUrlConnection将文件上传到php服务器

但我没有收到任何文件

这里是java代码

    File file = new File("C:\\Users\\Abhinav\\Downloads\\mortarboard.png");
    
    Path fpath = file.toPath();
    
    byte[] fbyte = Files.readAllBytes(fpath);
    
    request_url = new URL(url);
    HttpConnection = (HttpURLConnection) request_url.openConnection();
    HttpConnection.setRequestMethod("POST");
    HttpConnection.setDoOutput(true);
    HttpConnection.setDoInput(true);
    HttpConnection.setUseCaches(false);
    HttpConnection.setRequestProperty("Connection", "Keep-Alive");
    HttpConnection.setRequestProperty("Cache-Control", "no-cache");
    HttpConnection.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary);
    HttpConnection.setRequestProperty("User-Agent", "Abhinav");
    DataOutputStream request = new DataOutputStream(HttpConnection.getOutputStream());
    request.writeBytes(boundary);
    request.writeBytes("Content-Disposition: form-data; name=\"identity_upload\" ; filename=\"identity_upload.png\"");
    request.writeBytes("Content-Type: image/png");
    
    request.write(fbyte);
    
    request.writeBytes(boundary);
    
    request.flush();
    
    
    InputStream stream = HttpConnection.getInputStream();
    
    BufferedReader responseStreamReader = new BufferedReader(new InputStreamReader(stream));

    String line = "";
    StringBuilder stringBuilder = new StringBuilder();

    while ((line = responseStreamReader.readLine()) != null) {
        stringBuilder.append(line).append("\n");
    }
    responseStreamReader.close();

    String response = stringBuilder.toString();
    HttpConnection.disconnect();
    
    System.out.print(response);

控制台中没有错误,但我无法将文件上载到服务器

在服务器端,它给出一个空对象FILES


共 (0) 个答案