Java 使用org.apache.http.entity.mime将文件上载到服务器,但无法打开它
我使用下面的代码上传一个文本文件到服务器,它可以工作Java 使用org.apache.http.entity.mime将文件上载到服务器,但无法打开它,java,web-services,file-upload,redmine,Java,Web Services,File Upload,Redmine,我使用下面的代码上传一个文本文件到服务器,它可以工作 `HttpPost httppost = new HttpPost(uri+"/uploads.xml"); MultipartEntity mpEntity = new MultipartEntity(); FileBody cbFile = new FileBody(file); //insertValue httpclient.getParams().setParameter(CoreProtocol
`HttpPost httppost = new HttpPost(uri+"/uploads.xml");
MultipartEntity mpEntity = new MultipartEntity();
FileBody cbFile = new FileBody(file);
//insertValue
httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION,HttpVersion.HTTP_1_1);
httpclient.getCredentialsProvider().setCredentials(AuthScope.ANY, defaultcreds);
httppost.setHeader("Content-Type", "application/octet-stream");
mpEntity.addPart("userfile", cbFile);
httppost.setEntity(mpEntity);
//execute
HttpResponse response = httpclient.execute(httppost);`
但是,当我从服务器下载文本文件时,我无法打开它,并发现其他消息(粗体文本)将添加到文本文件中
-RzBVXI2AHuDiIU5UHz-A1jZrpEg6a0JY
内容配置:表单数据;name=userfile;filename=test.txt
内容类型:应用程序/八位字节流
内容传输编码:二进制
内容
-RzBVXI2AHuDiIU5UHz-A1jZrpEg6a0JY-
谢谢 我终于解决了。
我使用这个代码
FileEntity实体=新FileEntityfile
取代:
FileBody cbFile = new FileBody(file);mpEntity.addPart("userfile", cbFile);
它是有效的
但我不知道为什么…这是正确的Mutlipart格式。如果您需要阅读帮助,可以共享服务器端代码吗。我们不知道你们使用的是什么技术。我用这个代码将文件上传到Redmine发行版的附件中!如果我上传一张图片。我仍然无法通过双击打开它。然后我用文本编辑打开这个图像,我发现Mutlipart格式的消息在那个图像文件中,所以我无法打开它。