我正在尝试实现一个从 url 读取 InputStream 的 servlet。输入流的内容类型为 video/mp4。
现在,我希望将这个包含 mp4 视频的 InputStream 提供给 iOS 设备。我关注了 Bauke Scholtz 的文章,它完成了类似的任务,它从 File 对象中读取内容。我按照这篇文章进行了一些更改以实现我的场景。
我正在为我的问题添加更多细节。
我试图通过对 Bauke Scholtz 的代码进行细微更改来测试我的场景。我的 servlet 首先通过使用从 url 读取内容
URLConnection openConnection = url.openConnection();
然后我重写他的 copy() 函数如下:
private static void copy(URLConnection openConnection, OutputStream output,
long start, long length) throws IOException {
InputStream input = openConnection.getInputStream();
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int read;
if (openConnection.getContentLength() == length) {
while ((read = input.read(buffer)) > 0) {
output.write(buffer, 0, read);
}
} else {
input.skip(start);
long toRead = length;
while ((read = input.read(buffer)) > 0) {
if ((toRead -= read) > 0) {
output.write(buffer, 0, read);
} else {
output.write(buffer, 0, (int) toRead + read);
break;
}
}
}
}
我使用了这个复制功能,而不是原来的。
但我无法实现我的目标。有遇到过类似情况的朋友,或者知道解决方法的,请分享一下你的想法。
谢谢,
瓦伊巴夫·古普塔。
PS 对于我最初的问题中提供的信息较少,我深表歉意。我对stackoverflow很陌生,需要一些时间和学习适应它的文化。