我有一个使用REST Web服务的应用程序来与其他人同步数据。到目前为止,数据只是基于文本的,因此我使用XML文件将数据存储在数据库中并将其加载到客户端上。
但是现在我想扩展这个应用程序来添加图像并将它们放在Web服务上。我不确定这个用例的最佳做法是什么。
1)将图像保存在数据库中
2)将其保存在文件系统上,并将数据库中的链接添加到路径
那你会做什么以及为什么?
我需要一个来自Java客户端的来自/来自Jersey REST Web-Service的存储/加载映像的示例。 :)
答案 0 :(得分:2)
有一些方向,但没有完整的代码来喂你。希望您使用这些技巧自行开发REST服务。
您需要开发一项服务以接受请求中的多部分数据。它可以是multipart / form或mulitpart / mixed,具体取决于你的选择。
您可以将文件保存在磁盘上,并可以将其存储在数据库中的路径和其他详细信息,以便日后检索。您可能需要有关GET / PUT / DELETE等请求的文件详细信息。
您可能希望在请求中获取实际文件流以及有关文件的一些详细信息,例如名称等。因此,您可能必须为此创建文件详细信息类。
以下是此类服务的示例方法合同:
/**
*
* @param imageFileInputStream actual file stream
* @param imageUploadConfig image details
* @return Response
*/
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadImageFile(@FormDataParam("imageUploadConfig") String strImageUploadConfig,
@FormDataParam("imagefile") InputStream imageFileInputStream);