У меня есть BLOB (представляющий медиа-файл - обычно MP4), хранящийся в Oracle DB, которую я затем получаю следующим образом:
Blob blob = result.getBlob("filedata");
InputStream is = blob.getBinaryStream();
// The table also has a column called `fileSize` that stores the size of the blob
Затем я хочу загрузить этот BLOB-объект в удаленный сервер, работающий PHP без , сначала сохраняющий большой двоичный объект в файл в файловой системе.
Код PHP довольно прост, в основном:
move_uploaded_file($_FILES['Filedata']['tmp_name'], $fullPath);
Это хорошо работает, если я читаю большой двоичный объект, используя InputStream
, сохраняю его в FS следующим образом:
os = new FileOutputStream(targetFile);
byte[] buffer = new byte[8 * 1024];
int bytesRead;
// `is` is an InputStream object
while ((bytesRead = is.read(buffer)) != -1)
{
os.write(buffer, 0, bytesRead);
}
И затем считываю это в FileInputStream, который я передаю по HTTP (используя действие RESTful API) , Но я ищу способ избежать этого процесса и напрямую загрузить его из InputStream.
Заранее спасибо,