使用android存储和检索来自WAMP服务器的图像

时间:2014-01-26 14:14:34

标签: php android mysql image wampserver

我有一个Android应用程序,其中管理员用户可以创建普通用户帐户,其中管理员用户可以选择普通用户的照片来创建帐户。在存储普通用户名,年龄ETC之前,情​​况正常。但是当我想将普通用户的图像存储到数据库时出现问题。 我使用Wamp服务器作为后端数据库。

你们可以建议我如何在WAMP服务器中存储图像以及如何再次检索它以便我可以在Android活动中显示。

功能就像, 管理员用户登录---->创建普通用户 - >选择图片 - >存储在数据库中。

普通用户登录--->从数据库中检索图像 - >在Android活动中查看图片。

4 个答案:

答案 0 :(得分:8)

我认为您正在尝试将图像存储在数据库中,普通用户可以看到它们。我认为你的问题是如何在数据库中存储图像,对吧?如果我是正确的,你可以存储图像名称,而不是想象你会存储年龄和名字。

例如,您可以创建名为 images 的文件夹,然后将所有图像存储在此文件夹中。当您想要检索图像时,您可以获取指向图像的URL /链接。

例如,当管理员存储名为“image1.jpg”的图像时,您可以编程将图片存储到图像文件夹,并在数据库中设置名称,然后此图像具有特定的ID和URL,并且当普通用户想要检索图像,你应该指示你的代码获取id,然后是作为字符串存储在数据库中的相应url。

为了实现可靠的处理,您可以创建image_jpg image_pngimage_gif等文件夹。然后在管理员上传照片时根据类型逐步检查图像类型并将其存储在正确的文件夹中。此外,您可以将idtypename存储在数据库中,然后检查类型并在向用户显示时根据这些参数创建完整路径网址

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

id   | type |name

0001 | jpg  |image1

0002 | gif  |image2

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

当普通用户想要查看图像时,您需要的只是图像名称和路径/网址。在此示例中,

的图像网址
0001 is   "path/image_jpg/image1."+type
0002 is   "path/image_gif/image2."+type

如果你知道你可以获得该类型的ID,那么很容易为你的图像创建路径或网址......

答案 1 :(得分:4)

在服务器中存储图像的另一种方法是使用webservice。做如下:

服务器端

一个。接受来自客户端设备的图像

 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

客户端设备 android

一个。将图像发送到服务器

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

B中。 Retrive Image

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

答案 2 :(得分:1)

我猜您使用简单的表单http post在wamp服务器中创建详细信息。但是如果你想上传图像/文件,那么你将不得不使用多部分请求。

如果要将图像保存为db中的二进制文件,则在检索期间  1.将其作为流发送,实际上客户端必须下载图像并根据需要显示它。  2.生成图像并将其保存在服务器上,然后发回客户端可用于检索图像的URL。

答案 3 :(得分:0)

创建数据库 创建具有图像属性的表(写入图像的数据类型是blob) 插入table_name值(load_file('存储图像的图像的位置')) 然后做并打开图像