當前位置:首頁 » 文件管理 » 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-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
上傳下載賺錢 發布:2024-09-08 06:14:51 瀏覽:258