我有同样的问题输入流。你能分享更多关于你的修复的细节吗?
谢谢,哈莎
链接到您的问题
JavaApache HttpClient上传文件出错
另一个选项是org。阿帕奇。http。实体哑剧表演所容纳之物ByteArrayBody
,如果事先不知道大小(!!!您必须确保inputStream的内容将适合JVM的内存):
InputStream inputStream = // get your input stream somehow
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int i;
byte buff[] = new byte[4096];
while( -1 != (i = inputStream.read(buff))){
baos.write(buff, 0, i);
}
ByteArrayBody bab = new ByteArrayBody(baos.toByteArray(), "fileName1");
扩展的组织的代码。阿帕奇。http。实体哑剧表演所容纳之物InputStreamBody
将类似于此。在创建InputStreamBodyExtended
public class InputStreamBodyExtended extends InputStreamBody {
private long contentLength = -1;
public InputStreamBodyExtended(InputStream in, String filename, long contentLength) {
super(in, filename);
this.contentLength = contentLength;
}
public InputStreamBodyExtended(InputStream in, ContentType contentType, long contentLength) {
super(in, contentType);
this.contentLength = contentLength;
}
public InputStreamBodyExtended(InputStream in, ContentType contentType,
String filename, long contentLength) {
super(in, contentType, filename);
this.contentLength = contentLength;
}
@Override
public long getContentLength() {
return contentLength;
}
}
还有另一种简单的方法可以覆盖InputStreamBody。getContentLength
无需创建我们自己的ContentBody
实现,如果您知道您的contentLength-
InputStreamBody inputStreamBody = new InputStreamBody(inputStream, ContentType.APPLICATION_OCTET_STREAM, fileName){
@Override
public long getContentLength(){return contentLength;}
};
MultipartEntityBuilder.create()
.setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
.addPart("dataAsStream", inputStreamBody)
.build();
问题内容: 我们正在使用Amazon AWS Java库上载文件,并且很难获得上载进度。我们目前正在致电以下内容: 我们如何设置回调以检查文件上传进度? 谢谢 问题答案: 我遇到了这个确切的问题,并编写了一个简单的InputStream包装器,该包装器输出了不错的进度条: (这是从实时代码中复制粘贴的,因此您可能必须做一些修补才能使其在您自己的代码中起作用。) 然后,只需使用InputStream
文件上载返回“状态代码8-无效参数”响应。想知道是什么导致了这种情况。 我使用Chilkat sFTP在多个合作伙伴之间传输和接收文件,没有问题,但是对于一个新的合作伙伴,我看到以下错误。合作伙伴的技术团队正在询问是否正在调用被动连接,但我在Chilkat中看不到任何可以让我改变这一点的属性。 日志消息:
在我的主要活动中: 编辑:我在主线程上运行了网络代码,它引发了一个异常。现在为下载创建一个新的线程,它将获得示例PDF(http://www.pdf995.com/samples/PDF.PDF),并将其内容放入文件中。感谢@GreenApps!
我想使用HttpClient4.3.1上传一个文件。我需要添加一个inputstream来控制上传进度。)而不是文件对象。这是我的代码: 使用MultiPartEntityBuilder.addBinaryBody(Strin,File)方法可以工作,但使用MultiPartEntityBuilder.addBinaryBody(Strin,InputStream)方法则不起作用。 为什么new
我正在使用Apache Commons Net FTP库进行FTP客户端项目。我已成功登录,但当我尝试从FTP服务器下载文件时,得到了空文件或null。 我尝试设置文件传输模式或文件类型,但都不起作用。 下面是我启动客户端的代码示例: 这是检索文件的代码: 我还尝试添加了一些其他属性,如: 但都不管用。 这可能与服务器配置有关吗?实际上我没有对FTP服务器的配置访问权限。提供商只给了我对它的读取权
问题内容: 我如何阅读像android app中的文本文件: 所以我可以返回一个字符串,如: 我想到的是(伪代码): 问题答案: 试试这个