损坏的FTP客户端上传

时间:2016-01-20 09:58:54

标签: java ftp

我使用Apache FTPClient库来管理我的网络服务器的文件。我注意到,当我上传我的SQlite数据库然后再次下载时,文件已经更改。为什么会这样?

我通过FTP上传的代码如下:

public boolean uploadDatabase() throws IOException
{
    ftpClient.enterLocalPassiveMode();
    ftpClient.setFileTransferMode(FTP.BINARY_FILE_TYPE);
    File databaseFile = new File(databaseFileName);
    InputStream inputStream = new FileInputStream(databaseFile);
    boolean uploadedSuccessfully = ftpClient.storeFile(remoteDatabaseLocation, inputStream);
    inputStream.close();

    return uploadedSuccessfully;
}

如果我再次下载该文件并将原始MD5Sum和下载的FTPhere中的代码进行比较,则会有所不同。我是使用浏览器还是通过某些Java代码下载文件并不重要,因此显而易见$ go get -u github.com/golang/protobuf/{proto,protoc-gen-go} 上传已损坏,而非下载。

正如在this回答中指出的那样,我已经将文件传输模式设置为二进制,所以我很惊讶为什么有些字节仍然是随机的"插入文件。我使用十六进制编辑器HxD对它们进行了比较。生成的文件哈希始终不一致。

0 个答案:

没有答案