当前位置:首页 » 文件管理 » html页面缓存图片代码

html页面缓存图片代码

发布时间: 2023-12-04 11:19:21

1. 如何给html网页设置缓存

在Apache环境下,可以通过在.htaccess文件中添加下面的代码,设置图片的HTTP缓存和有效期(需要开启apache的headers模块支持):
# Image and Flash content Caching for ONE Year blog.gimhoy.com<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf)$"> Header set Cache-Control "max-age=3156000"

其中max-age后面这个数字就是设置的缓存有效期(以秒为单位),比如上面的代码设置了网站的图片使用为期一年(3156000秒)的HTTP缓存。
在Nginx下,可以通过修改nginx.conf配置文件,来修改缓存设置:
location ~* \.(flv|gif|jpg|jpeg|png|ico|swf)$ { expires 1y; access_log off; break; }

同样的方法,你也可以给js和css文件设置缓存。

2. 如何能html改图片时直接使用本地缓存,完全不走流量(html 或 javascript 解决方案,chrome浏览器)

首先…作为吊丝程序员(学生现役)…给几个吊丝的方法。

预加载隐藏

//在预加载的时候,直接读出隐藏的图片
$("#blablabla").append($.("#someImg").clone());
$("#blablabla").last().attr("sec",$.load("url~~~",function(){
//做一下隐藏
}));

然后在一直到某点--》之后…就把原来的图片替换掉。

style的样式…如果还不一样的话……就是自己代码的问题了……


用web Strorage

简单来说…把图片数据流化并且放入web strorage,然后在读取的时候生产图片,并且放入img容器。


304状态是必要的

服务器端和客户端使用Conditional Gets功能验证缓存数据

客户端将条目放在缓存里,在过期之后重新验证。服务器端必须实现Conditional GET功能(使用ETags或者last modified的header)。

JS代码:

$.ajax({
url:'/Home/ExpiresWithConditional',
ifModified:true,//这里是关键
cache:true,
success:function(data,status,xhr){
$('#content').html(data.count);
}
});

而让服务端响应304状态是确保在图片被修改过以后,能够再返回一个不同的值……

所以……

流量还是不要省了……→_→

3. javascript+div+html 获得实时图片(IP摄像头的实时图片)时缓存问题

url最后加一个随机数 如下:

var div =document.getElementById('xx');
var span = document.createElement('span');
span.innerHTML = "<img src='http://admin:[email protected]/cgi-bin/video.cgi?msubmenu=jpg&"+Math.random()+"'>";
div.appendChild(span)
<button onclick="ii()">图片 </button>

4. 我想实现 html +js 上传图片 并保存到本地tmp目录下,现有代码如下,求指导。必采纳

你js代码把文件以base64编码形式展示了出来,是为了让用户上传文件之前能够预览对吧。


文件的IO操作需要用后端来实现,如果你只是做web前端开发的话,就没有必要研究这个东西,如果你是后端开发者的话可以尝试一下,相关的资料很多,我写个示例吧,后端用php为例:

html实现:

<!DOCTYPEhtml>
<html>
<head>
<metacharset="utf-8">
<title>ss</title>
</head>
<body>
<formaction="file.php"method="post"enctype="multipart/form-data">
<inputtype="file"name="upfile">
<inputtype="submit"value="提交">
</form>
</body>
</html>

php实现(file.php):

<?php
@header('Content-Type:text/html;charset=utf-8');
if(!isset($_FILES['upfile'])){
exit('请选择您要上传的文件!');
}

if(!file_exists($_FILES['upfile']['tmp_name'])){
exit('您要上传的文件不存在!');
}

$file_dir=dirname(__FILE__).'/tmp';
if(!is_file($file_dir)){
@mkdir($file_dir,0777,true);
}

$file_ext='.jpg';
if(preg_match('/(.w+)$/',$_FILES['upfile']['name'],$ext_tmp)){
$file_ext=$ext_tmp[1];
}

$file_save_path=$file_dir.'/'.uniqid().mt_rand(101,999).$file_ext;

@rename($_FILES['upfile']['tmp_name'],$file_save_path);

if(!file_exists($file_save_path)){
exit('文件上传失败!');
}

exit('文件上传成功!');
热点内容
db2新建数据库 发布:2024-09-08 08:10:19 浏览:170
频率计源码 发布:2024-09-08 07:40:26 浏览:778
奥迪a6哪个配置带后排加热 发布:2024-09-08 07:06:32 浏览:100
linux修改apache端口 发布:2024-09-08 07:05:49 浏览:208
有多少个不同的密码子 发布:2024-09-08 07:00:46 浏览:566
linux搭建mysql服务器配置 发布:2024-09-08 06:50:02 浏览:995
加上www不能访问 发布:2024-09-08 06:39:52 浏览:811
银行支付密码器怎么用 发布:2024-09-08 06:39:52 浏览:513
苹果手机清理浏览器缓存怎么清理缓存 发布:2024-09-08 06:31:32 浏览:554
云服务器的优点与缺点 发布:2024-09-08 06:30:34 浏览:734