我有一个android应用程序,在注册时将图像存储在WAMP(即C:\ wamp \ www * projectName ** Image文件夹*)中。我将WAMP用作本地服务器,将Retrofit用于网络活动,并将glide用于图像处理。图像已成功上传,并且图像路径已存储在DATABASE中。现在,当我从数据库中检索信息时,我想使用滑行在imageView中显示该图像,但是我不知道该怎么做。在JSON响应中,我正在获取图像的路径。
================================================ ==================
我的用于上传照片的Php脚本
$image = $_POST["uPhoto"];
$time = date("d-m-Y")."-".time();
$image_name = $username."_".$time;
$image_path = "user_profile_images/$image_name.jpg";
if (mysqli_query($myCon,$sql))
{
file_put_contents($image_path,base64_decode($image));
$status = "ok";
echo json_encode(array("response"=>$status));
}
================================================ ==================
JSON响应
"Photo Path":"user_profile_images\/roots123_29-08-2018-1535553004.jpg"
在Android方面,我正在尝试
Glide.with(getApplicationContext()).load(response.body().getImage()).into(imgProfile);
有人可以提供任何解决方案吗
答案 0 :(得分:0)
要从本地Wamp服务器获取图像,您需要在运行Wamp服务器的PC的IP地址前添加url,如果您正在与服务器位于同一网络中的远程android设备进行测试。
如果要使用仿真器进行测试,可以尝试使用以下IP 10.0.2.2
。
答案 1 :(得分:0)
首先,您检查完整的图像路径 ( url =您的系统本地ip + user_profile_images / roots123_29-08-2018-1535553004.jpg ) 在浏览器中,如果它显示图像,则可以使用glide在应用程序中加载该图像 您可以使用ipconfig命令在任务管理器或命令提示符中检查系统ip。在浏览器中检查您的IP ip在浏览器中运行本地主机服务器
String Img_url = "system ip"+response.body().getImage();
Glide.with(getApplicationContext()).load(Img_url).into(imgProfile);
在您的Android模拟器中使用它
答案 2 :(得分:0)
仔细检查 url 后,确保始终清除catch,然后将图像重新加载到图像视图中 :
答案 3 :(得分:0)
使用Glide时,可能会发生Glide库被捕获的情况,因此您 需要首先清除内存中的捕获,然后尝试从中加载图像 URL在加载图像的地方尝试使用此代码
答案 4 :(得分:0)
如果您要对网络电话进行改造,请确保已为网络电话创建了接口,并且图像列表已准备就绪,如下所示:
Your Interface:
interface ImagesApi {
@GET("/api/images/")
fun getImages(): Call<ImageDataClass>
}
您的数据类别:
data class ImageDataClass(val id: Number?, val imageUrl: String?,val description: String?,
val created_at: String?, val updated_at: String?)
然后拨打电话并获取图像列表。现在在“视图”中将滑行用作:
Glide.with(this)
.load(imageList[index].imageUrl)
.override(width,height)
.into("your image view")
希望这会有所帮助