使用 Apache Httpclient 上传时在文件中写入额外不需要的数据
Extra Unwanted Data Written in File While Uploading with Apache Httpclient
我正在尝试使用 Apache Httpclient 库和以下代码上传数据库转储文件:
HttpEntity entity = MultipartEntityBuilder.create()
.addPart("file",new FileBody(new File(fileDirectory))).build();
HttpPut request = new HttpPut(url + "/" + fileName);
request.setEntity(entity);
request.setHeader("Authorization", "Basic "+authentication);
HttpClient client = HttpClientBuilder.create().build();
这是我的文件中写入的额外不需要的数据:
---NjPddruz8ocyxDtNnXaX1eigSH6W-gGgXD1O
Content-Disposition: form-data; name="file"; filename="wordpress.sql"
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
--
-- Generated by java-mysql-exporter
-- Date: 14-11-2020 15:18:38
--
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
--
-- start table dump : wp_commentmeta
--
有什么办法可以避免这些行被写入我的原始文件?
这是多部分数据的格式。多部分数据旨在在单个请求中包含多个不同的数据 objects(因此有分隔符和 headers)。如果您只想上传单个文件,则不需要使用多部分格式的数据。您可以改为使用 FileEntity 上传。
我正在尝试使用 Apache Httpclient 库和以下代码上传数据库转储文件:
HttpEntity entity = MultipartEntityBuilder.create()
.addPart("file",new FileBody(new File(fileDirectory))).build();
HttpPut request = new HttpPut(url + "/" + fileName);
request.setEntity(entity);
request.setHeader("Authorization", "Basic "+authentication);
HttpClient client = HttpClientBuilder.create().build();
这是我的文件中写入的额外不需要的数据:
---NjPddruz8ocyxDtNnXaX1eigSH6W-gGgXD1O
Content-Disposition: form-data; name="file"; filename="wordpress.sql"
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
--
-- Generated by java-mysql-exporter
-- Date: 14-11-2020 15:18:38
--
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
--
-- start table dump : wp_commentmeta
--
有什么办法可以避免这些行被写入我的原始文件?
这是多部分数据的格式。多部分数据旨在在单个请求中包含多个不同的数据 objects(因此有分隔符和 headers)。如果您只想上传单个文件,则不需要使用多部分格式的数据。您可以改为使用 FileEntity 上传。