В Entity Bean вы можете использовать тип поля Blob и аннотировать его с помощью @Lob для сохранения таких данных непосредственно в базе данных.
// - Редактировать деталь
Для такого большого файла вы можете извлечь содержимое файла в байтовый массив фиксированного размера, чтобы клиенту не хватало памяти.
Клиентская сторона:
//-------------
remoteInterface.initializeArraySize(ARRAY_SIZE);
double splitIterations = ARRAY_SIZE/PERMISSIBLE_SIZE;
for(int i=0; i < splitIterations; i++){
// Get next byte[PERMISSIBLE_SIZE] from File
remoteInterface.appendToArray(splittedArray);
}
// Finally uploading after processing
remoteInterface.uploadFile
//---------------
Сторона сервера:
@Stateless
public class FileUploadSessionBean implements FileUploadSessionBeanRemote {
private byte[] byteArray;
public void initializeArraySize(double arraySize){
// Initilialized only once
byteArray = new byteArray[arraySize];
}
public void appendToArray(byte[] splittedByteArray){
/* Append the splittedByteArray at end to byteArray each time
to build the original array
*/
}
public void uploadFile(){
// Convert byteArray to Blob & persist
}
}