使用Android从WAMP服务器存储和检索图像

3
我有一个安卓应用程序,管理员用户可以创建普通用户账户,其中管理员用户可以选择普通用户的照片来创建账户。在存储普通用户的姓名、年龄等信息时一切正常。但是当我想要将普通用户的图像存储到数据库中时就会出现问题。我正在使用Wamp服务器作为后端数据库。
请问您能否建议我如何在WAMP服务器中存储图像以及如何再次检索它,以便我可以在安卓活动中显示它?
功能如下: 管理员用户登录——>创建普通用户——>选择图像——>存储在数据库中。
普通用户登录——>从数据库中检索图像——>在安卓活动中查看图像。

你是如何在数据库中存储图像的?如果你想要加载的图像在设备上而不是互联网上的某个地方,它可以存储在内部或外部存储器上。然后该值只需为图像源的路径/ URL。你可能需要查看这份文档以开始操作。 - Vivek Pradhan
@VivekPradhan,你没有理解我的意思,我们可以将图像存储在WAMP服务器上,你可以在互联网上找到相关的教程。我只是想要将WAMP服务器链接到Android。这很简单,将图像存储到WAMP中并再次检索它。 - Santosh Dhanawade
你需要澄清你想要做什么。 - ejohansson
4个回答

8
我认为您正在尝试将图像存储在数据库中,而一般用户可以查看它们。我想您的问题是如何在数据库中存储图像,对吗? 如果我没错,您可以存储图像名称,就像您会存储年龄和姓名一样。
例如,您可以创建一个名为“images”的文件夹,然后将所有图像存储在其中。当您想要检索图像时,可以获取指向图像的url/链接。
例如,当管理员存储名为“image1.jpg”的图像时,您可以编写程序将图片存储到图像文件夹中,并在数据库中设置名称、特定id和url,当普通用户想要检索图像时,您应该指示您的代码获取id和相应的url,这些内容以字符串的形式存储在您的数据库中。
为了可靠地处理,您可以创建类似于“image_jpg”、“image_png”、“image_gif”等文件夹。然后,在管理员上传照片时,动态检查图像类型并根据类型将其存储在正确的文件夹中。您还可以在数据库中存储id、type和name,然后根据这些参数检查类型并创建完整的路径url,以便向用户呈现这些内容。
.....................

id   | type |name

0001 | jpg  |image1

0002 | gif  |image2

.....................

当普通用户想查看一张图片时,你只需要知道图片名称和路径/ URL。在这个例子中,该图片的URL为:
0001 is   "path/image_jpg/image1."+type
0002 is   "path/image_gif/image2."+type

当你知道id后,可以获取类型,然后很容易创建图片的路径或URL...

同意!!您是在谈论将图像文件存储在WAMP服务器目录上。并且图像的路径将存储在数据库中。 - Santosh Dhanawade
1
好的,有没有办法将实际图像存储在数据库中? - Santosh Dhanawade
关于https://dev59.com/Nmw15IYBdhLWcg3wqNgA的问题,您有什么想法? - Santosh Dhanawade
是的,您可以将图像存储为Base64字符串在数据库中,且应该使用原始类型。 - dinesh sharma

4

将图片存储到服务器上的另一种方式是使用 Web 服务。请按照以下步骤操作:

服务器端

A. 从客户端设备接收图片。

 1. create webservice to accept image as base64 string.
 2. convert base64 to image and store on server directory.
 3. save the path of image in DB.

B. 将图像发送到客户端设备。

 1. create webservice to send image to client device
 2. retrieve image path from DB.
 3. generate Image URL and sent it as response to client device

客户端设备 安卓

A. 向服务器发送图像

 1. convert image to base64 String.
 2. call webservice to send image as base64 String.

B. 检索图像

 1. call webservice to retrieve image URL.(Best way to get image is using lazzy loading)

1
我猜您正在使用简单的表单http post在wamp服务器上创建细节。但是如果您想上传图像/文件,则必须使用多部分请求。
如果您将图像保存为二进制文件,则在检索期间: 1. 将其作为流发送,客户端必须下载图像并按需要显示它。 2. 生成图像并将其保存在您的服务器上,然后发送一个url,客户端可以使用该url检索图像。

0

创建数据库 创建带有图像属性的表(图像的数据类型为blob) 插入到表中的值为(load_file('存储图像的位置')) 然后执行并打开图像


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接