Linux 下传输文件报错?

这是报错日志,发送一个文件到目标端。之前一直都可以,但是今天一样的程序却发送失败了,求解答。代码如下:package com.guoxi;import java.io.*;import java.net.HttpURLConnection;import java.net.URL;/** * created by hangli */public class SendFile {    public st...显示全部

这是报错日志,发送一个文件到目标端。之前一直都可以,但是今天一样的程序却发送失败了,求解答。
代码如下:
package com.guoxi;

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
/**
 * created by hangli
 */
public class SendFile {
    public static void main(String[] args){
        try{
            /**
             * 发送序号(序号比编号少1)
             */
            int order = 30 ;
            URL startseries = new URL("http://172.28.165.229:8080/startReceive?seri="+order);
            InputStream start = startseries.openStream();
            InputStreamReader st = new InputStreamReader(start);
            BufferedReader bustart = new BufferedReader(st);
            bustart.close();
            st.close();
            start.close();
            /**
             * 发送文件
             */
            String boundary = "Boundary-b1ed-4060-99b9-fca7ff59c113"; //Could be any string
            String Enter = "\r\n";
            File file = new File("/home/admin/demo/hangli/filename31_31.txt");
            FileInputStream fis = new FileInputStream(file);
            URL url = new URL("http://172.28.165.229:8080/uploadimg");
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setDoOutput(true);
            conn.setDoInput(true);
            conn.setRequestMethod("POST");
            conn.setUseCaches(false);
            conn.setInstanceFollowRedirects(true);
            conn.setRequestProperty("Content-Type","multipart/form-data;boundary=" + boundary);
            conn.connect();
            DataOutputStream dos = new DataOutputStream(conn.getOutputStream());
            //part 1
            String part1 =  "--" + boundary + Enter
                    + "Content-Type: application/octet-stream" + Enter
                    + "Content-Disposition: form-data; filename=\""+file.getName()+"\"; name=\"file\"" + Enter + Enter;
            //part 2
            String part2 = Enter
                    + "--" + boundary + Enter
                    + "Content-Type: text/plain" + Enter
                    + "Content-Disposition: form-data; name=\"dataFormat\"" + Enter + Enter
                    + "hk" + Enter
                    + "--" + boundary + "--";
            byte[] xmlBytes = new byte[fis.available()];
            fis.read(xmlBytes);
            dos.writeBytes(part1);
            dos.write(xmlBytes);
            dos.writeBytes(part2);
            dos.flush();
            dos.close();
            fis.close();
            System.out.println("status code: "+conn.getResponseCode());
            conn.disconnect();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

收起
参与9

查看其它 1 个回答wangql的回答

wangqlwangql系统工程师NULL

报错比较明显,连接被拒绝。

1. 查看对端的服务是否启动,netstat查看8080是否处在监听状态

2. 检查客户端到服务端之间的网络是否有防火墙,用telnet或nc去测试即可

IT咨询服务 · 2019-10-28
浏览2453

回答者

wangql
wangql41446
系统工程师NULL
擅长领域: 存储备份软件定义存储

wangql 最近回答过的问题

回答状态

  • 发布时间:2019-10-28
  • 关注会员:3 人
  • 回答浏览:2453
  • X社区推广