我正在开发Spring Boot Rest服务,用于下载文件(完整文件或范围内的文件)。控制器中的请求将被传递到服务层,在那里我会对文件进行处理并返回它。
选项一: 我可以逐字节读取FileInputStream并直接将其写入输出流。但是在这个选项中,我需要将响应对象传递给服务层,而我不想这样做(因为服务层应该与Web组件解耦)。
选项二: 从服务层传递整个字节数组到控制器也可能不是一个好选择,因为我正在处理非常大的文件。
选项三: 如果要返回整个文件,则可以将FileInputStream传递给ResponseEntity,Spring可以负责流式处理,但我还需要处理根据范围标头从文件返回字节范围的情况。
如有任何意见或指示,请提出。如果需要更多信息,请告诉我。
选项一: 我可以逐字节读取FileInputStream并直接将其写入输出流。但是在这个选项中,我需要将响应对象传递给服务层,而我不想这样做(因为服务层应该与Web组件解耦)。
选项二: 从服务层传递整个字节数组到控制器也可能不是一个好选择,因为我正在处理非常大的文件。
选项三: 如果要返回整个文件,则可以将FileInputStream传递给ResponseEntity,Spring可以负责流式处理,但我还需要处理根据范围标头从文件返回字节范围的情况。
如有任何意见或指示,请提出。如果需要更多信息,请告诉我。