首先,这是我第一次同时构建Web服务和android客户端,所以请帮助我。我的目标是能够从android应用程序上传文件并从Web服务下载。
这是我为上传所做的(工作,但我不确定这是最好的方式):
- 在android应用程序中将图像转换为base64字符串
- 将转换后的字符串(表单图像)发送到Web服务
- 使用webservice中的
base64_decode
函数对该字符串进行解码 - 使用
file_put_contents
保存解码字符串中的图像 - 将解码后的字符串输入到我的数据库中的BLOB字段中
让我感到困惑的是,如果我已经保存了图像文件(步骤4),我是否还需要将其保存到BLOB列(步骤5)?
现在,我对下载部分感到困惑。这就是我计划做的:
- 使用
file_get_contents
(返回字符串)获取上传中步骤4的图像文件 - 将结果(字符串)发送到我的android应用程序
- 获取字符串并将其转换为图像(如何?)
这就是我需要下载的全部内容吗?
下载时需要使用base64_decode
还是base64_encode
?我什么时候用?
对不起,如果我的问题听起来很傻,我还是不明白其中的逻辑。
非常感谢您抽出时间,我们非常感谢您的帮助。
让我感到困惑的是,如果我已经保存了图像文件(步骤4),我是否还需要将其保存到BLOB列(步骤5)?
不,你没有。您可以在DB中存储对该文件的引用,如文件名或完整路径。
现在,我对下载部分感到困惑。这就是我计划做的:
- 使用file_Get_contents(返回字符串)从上传步骤4获取图像文件
并基于64_encode it
- 获取字符串并将其转换为图像(如何?)
您需要对其进行base64解码,因为您在从服务器发送之前对其进行了编码。(步骤1)