From 2e4ac82d154052cc750746fd7737991b917e84d3 Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Tue, 28 May 2019 18:31:56 +0300 Subject: [PATCH] Make image filenames be the date and time of capture --- .../main/www/index_ov2640.html | 2 ++ .../main/www/index_ov2640.html.gz | Bin 4593 -> 4679 bytes .../main/www/index_ov3660.html | 2 ++ .../main/www/index_ov3660.html.gz | Bin 4685 -> 4776 bytes 4 files changed, 4 insertions(+) diff --git a/examples/single_chip/camera_web_server/main/www/index_ov2640.html b/examples/single_chip/camera_web_server/main/www/index_ov2640.html index 5a3c032..8460f32 100644 --- a/examples/single_chip/camera_web_server/main/www/index_ov2640.html +++ b/examples/single_chip/camera_web_server/main/www/index_ov2640.html @@ -717,6 +717,8 @@ document.addEventListener('DOMContentLoaded', function (event) { try { var dataURL = canvas.toDataURL('image/jpeg'); saveButton.href = dataURL; + var d = new Date(); + saveButton.download = d.getFullYear() + ("0"+(d.getMonth()+1)).slice(-2) + ("0" + d.getDate()).slice(-2) + ("0" + d.getHours()).slice(-2) + ("0" + d.getMinutes()).slice(-2) + ("0" + d.getSeconds()).slice(-2) + ".jpg"; } catch (e) { console.error(e); } diff --git a/examples/single_chip/camera_web_server/main/www/index_ov2640.html.gz b/examples/single_chip/camera_web_server/main/www/index_ov2640.html.gz index 4b90c82679b088d7b29d10ebe4cdbb3de3408657..4d8c535114e958efdf87b84cf4e3be91649c2fe2 100644 GIT binary patch delta 4281 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 b!-M#d0zc#Xgbfe)e{lF;^h3<}_;3IKff_BM delta 4195 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 diff --git a/examples/single_chip/camera_web_server/main/www/index_ov3660.html b/examples/single_chip/camera_web_server/main/www/index_ov3660.html index 4c4e572..e7fa8e3 100644 --- a/examples/single_chip/camera_web_server/main/www/index_ov3660.html +++ b/examples/single_chip/camera_web_server/main/www/index_ov3660.html @@ -744,6 +744,8 @@ document.addEventListener('DOMContentLoaded', function (event) { try { var dataURL = canvas.toDataURL('image/jpeg'); saveButton.href = dataURL; + var d = new Date(); + saveButton.download = d.getFullYear() + ("0"+(d.getMonth()+1)).slice(-2) + ("0" + d.getDate()).slice(-2) + ("0" + d.getHours()).slice(-2) + ("0" + d.getMinutes()).slice(-2) + ("0" + d.getSeconds()).slice(-2) + ".jpg"; } catch (e) { console.error(e); } diff --git a/examples/single_chip/camera_web_server/main/www/index_ov3660.html.gz b/examples/single_chip/camera_web_server/main/www/index_ov3660.html.gz index b99d3255ef38c362a5440a4c8178317667f33f8b..411189c4d218441b4bc7e63b809c6283550b1827 100644 GIT binary patch literal 4776 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 P|4a10c4Lv$V{`xj%HI5%