He estado escribiendo una pequeña aplicación que permitirá a las personas cargar archivos de descarga de &. Agregué un servicio web a esta aplicación para proporcionar la funcionalidad de carga y descarga de esa manera, pero no estoy muy seguro de qué tan bien mi implementación va a hacer frente a archivos de gran tamaño.¿Puede un servicio web devolver una transmisión?
En el momento de las definiciones de los métodos de descarga de carga & ven así (escrito usando Apache CXF):
boolean uploadFile(@WebParam(name = "username") String username,
@WebParam(name = "password") String password,
@WebParam(name = "filename") String filename,
@WebParam(name = "fileContents") byte[] fileContents)
throws UploadException, LoginException;
byte[] downloadFile(@WebParam(name = "username") String username,
@WebParam(name = "password") String password,
@WebParam(name = "filename") String filename) throws DownloadException,
LoginException;
Así que el archivo se cargados y descargados como una matriz de bytes. Pero si tengo un archivo de algún tamaño estúpido (por ejemplo, 1GB), seguramente esto intentará poner toda esa información en la memoria y colgar mi servicio.
Así que mi pregunta es: ¿es posible devolver algún tipo de transmisión en su lugar? Sin embargo, me imagino que esto no va a ser terriblemente independiente del sistema operativo. Aunque conozco la teoría detrás de los servicios web, la parte práctica es algo de lo que todavía necesito obtener un poco de información.
Saludos para cualquier entrada, Lee
alguna razón específica de por qué una cuestión de hace 5 años está activo de nuevo? ¿Respuestas desactualizadas? – Loko