當前位置:首頁 » 文件管理 » 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('文件上傳成功!');
熱點內容
安卓平板有什麼可以畫對稱的 發布:2024-07-27 09:36:03 瀏覽:132
羊創意腳本 發布:2024-07-27 09:29:30 瀏覽:894
榮耀v20升級存儲 發布:2024-07-27 09:20:19 瀏覽:485
安卓用什麼和電腦傳圖片 發布:2024-07-27 09:02:07 瀏覽:288
存儲過程就是 發布:2024-07-27 08:56:51 瀏覽:131
c語言高級試題 發布:2024-07-27 08:48:30 瀏覽:282
ip伺服器世界上有幾台 發布:2024-07-27 08:46:18 瀏覽:394
金立手機怎麼清理緩存 發布:2024-07-27 08:38:50 瀏覽:311
iphone文件夾不顯示 發布:2024-07-27 08:18:05 瀏覽:774
y510p固態硬碟做緩存 發布:2024-07-27 07:59:34 瀏覽:128