我有一个FileOutputStream,我试图在远程服务器上获取此文件的内容。服务器有一个API我应该POST文件的内容(这是一个.xls文件)。 API要求我将数据发布到其API URL,并在这种情况下将ContentType设置为.xls文件的内容。
代码如下:
cifreq *n
如何将流中文件的数据发送到服务器?
答案 0 :(得分:0)
FileOutputStream用于写文件,看起来你需要读取文件,然后你应该使用FileInputStream。 将文件内容读取到字节数组 Convert InputStream to byte array in Java
try (InputStream is = new FileInputStream("myfile.xls")) {
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
int nRead;
byte[] dataPart = new byte[16384];
while ((nRead = is.read(dataPart, 0, dataPart.length)) != -1) {
buffer.write(dataPart, 0, nRead);
}
buffer.flush();
byte[] data = buffer.toByteArray();
handle.sendRequest("https://server/API/file/id", "POST", "application/vnd.ms-excel", data);
}