我有一个使用 REST Web 服务与其他人同步数据的应用程序。到目前为止,数据只是基于文本的,因此我使用 XML 文件将数据存储在数据库中并将其加载到客户端。
但现在我想扩展此应用程序以添加图像并在 Web 服务上同步它们。我不确定这个用例的最佳实践是什么。
1)将图像保存在数据库中
2)将其保存在文件系统上并在数据库中添加一个链接到路径
那么你会怎么做,为什么?
我需要一个示例,用于从 Java 客户端将图像存储/加载到 Jersey REST Web 服务。:)
我有一个使用 REST Web 服务与其他人同步数据的应用程序。到目前为止,数据只是基于文本的,因此我使用 XML 文件将数据存储在数据库中并将其加载到客户端。
但现在我想扩展此应用程序以添加图像并在 Web 服务上同步它们。我不确定这个用例的最佳实践是什么。
1)将图像保存在数据库中
2)将其保存在文件系统上并在数据库中添加一个链接到路径
那么你会怎么做,为什么?
我需要一个示例,用于从 Java 客户端将图像存储/加载到 Jersey REST Web 服务。:)
有一些说明,但不是完整的代码来喂你。希望您使用这些技巧来自己开发 REST 服务。
您需要开发一个服务来接受请求中的多部分数据。它可以是多部分/形式或多部分/混合,具体取决于您的选择。
您可以将文件保存在磁盘上,并将其路径和其他详细信息存储在数据库中以供以后检索。对于 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);