URL から InputStream を読み取るサーブレットを実装しようとしています。入力ストリームのコンテンツ タイプは video/mp4 です。
ここで、mp4 ビデオを含むこの InputStream を iOS デバイスに提供したいと考えています。同様のタスクを実行する Bauke Scholtz の記事に従っています。ファイル オブジェクトからコンテンツを読み取ります。この記事に従い、シナリオを実装するためにいくつかの変更を加えました。
質問にさらに詳細を追加しています。
Bauke Scholtz のコードに小さな変更を加えて、自分のシナリオをテストしようとしました。私のサーブレットは、最初に使用して 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に非常に慣れていないため、その文化に適応するには時間がかかり、学習する必要があります。