修改 它会更新,但延迟几个小时..
另一个编辑;
它只发生在我的nexus 4上,我今天在我的SGS1上进行了测试,它的工作正常。 可能是什么问题?
你可以说它有点复杂,所以仔细阅读:
我有一个应用程序可以将图像上传到网络中(图像可以是任何内容,来自用户的设备)。
我现在已经为该结构添加了一个编辑功能,如果他想要更改旧图像,用户也可以上传新图像。
它可以工作..我通过浏览器测试了它,服务器上的图像也发生了变化。
但另一方面,在应用程序上,由于某种原因它没有(图像没有变化,即使服务器上的图像现在已经改变,而前一个图像不存在了。 )。
就像,它保存在设备的缓存中或者其他东西......但是:
我不知道这是怎么回事,因为每当我调用它时,下载图像的功能都会重新出现。
为什么会这样?
如果有人想要我的ImageDownloader
功能(但我百分百确定问题不存在):
private Bitmap downloadBitmap(String url) {
// initilize the default HTTP client object
final DefaultHttpClient client = new DefaultHttpClient();
// forming a HttoGet request
final HttpGet getRequest = new HttpGet(url);
try {
HttpResponse response = client.execute(getRequest);
// check 200 OK for success
final int statusCode = response.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK) {
Log.w("ImageDownloader", "Error " + statusCode
+ " while retrieving bitmap from " + url);
return null;
}
final HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream inputStream = null;
try {
// getting contents from the stream
inputStream = entity.getContent();
// decoding stream data back into image Bitmap that
// android understands
final Bitmap bitmap = BitmapFactory
.decodeStream(inputStream);
return bitmap;
} finally {
if (inputStream != null) {
inputStream.close();
}
entity.consumeContent();
}
}
} catch (Exception e) {
// You Could provide a more explicit error message for
// IOException
getRequest.abort();
Log.e("ImageDownloader", "Something went wrong while"
+ " retrieving bitmap from " + url + e.toString());
}
return null;
}
我的Edit.php
文件更新数据,包括图像(工作,测试。):
<?php
//1. create connection
$connection=mysql_connect("localhost","lalala","lalala");/
if(!$connection)
{
die("database connection failed:" . mysql_error());
}
$db=mysql_select_db("lalala",$connection);
if(!db)
{
die("database connection failed:" . mysql_error());
}
mysql_query("SET NAMES 'utf8'",$connection);
if ($_POST["lala"]!=null)
{
if ($_POST["lalala"]!=null && $_POST["lalala"]!=null)
{
$sql="UPDATE `lalala`.`lalal` SET `xxx` = '".$_POST[xxx]."', `xxx`='".$_POST[xxx]."', `xxx` = '".$_POST[xxx]."', `xxx`='".$_POST[xxx]."', `xxxt`='".$_POST[xxx]."', `xxx`= '".$_POST[xxx]."', `xxx` = '".$_POST[xxx]."' WHERE `xxx`.`xx` = ".$_POST[xx].";";
$result=mysql_query($sql,$connection);
if(!$result)
{
echo "error.";
//echo "('".mysql_insert_id($connection)."','".$_POST[title]."','".$_POST[snippet]."','".$_POST[cat]."','".$_POST[desc]."','".$_POST[lat]."','".$_POST[lon]."','".$_POST[pub]."','0','0','".$_POST[program]."','".$_POST[addr]."')\n";
die("database connection failed:" . mysql_error());
}
else {
if ($_POST[isnewimg]==1)
{
if (unlink("upload/id".$_POST[id].".jpg"))
{
$target = "upload/";
$target = $target . basename( $_FILES['uploaded']['name'].$_POST[id].".jpg");
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{
echo "1";
}
else {echo "Img update failed".$_POST[id];}
}
else {echo "Img deletion failed".$_POST[id];}
}
else
echo "1"."w/o image. updated ".$_POST[id];
}
}
}
else {
echo "2";
}
mysql_close($connection);
?>
答案 0 :(得分:2)
如果服务器正在缓存图像,请尝试重置它以确认这是真正的问题。
在客户端:
如果要从URL加载图像,例如:
http://ejemplo.com/imagen.png
您可以为每个请求生成一个ID,并将其添加到URL中,如下所示:
http://ejemplo.com/imagen.png?request_id=5385683
我不知道你在什么平台上工作,但这适用于浏览器。