我使用SimpleHTTPServer在本地运行和运行一个目录和html代码。在那里,我使用getusermedia api来拍摄一些照片。如果我使用js本地存储存储图片,它们准确地存储在哪里?如何将它们复制到已知的目录中?
发布于 2017-10-15 21:21:31
浏览器通常在一个加密的、完全保密的区域管理localStorage和sessionStorage变量,这样您的浏览体验就会尽可能安全(想象一下,当有人访问您的网页时,您可以读写他们的文件!!)
您不能在客户端计算机不知情的情况下将图像复制到或复制到客户端计算机。但是,您可以在服务器端自动下载.
至于保存先前下载的映像,请参见:
How to save an image to localStorage and display it on the next page?
但是,请注意,最大存储空间通常是有上限的,不同浏览器及其相关环境的大小差别很大。
我自己的测试表明,默认情况下,铬只能支持10x5MB文件。
编辑:
至于复制到一个已知的目录,您必须将文件发送回您的http服务器并从那里收集它们。如果您选择使用ajax,则可以将数据转换为base64,使您能够以json字符串发送数据(‘未能对数据进行编码将导致错误’),并在服务器端使用新缓冲区(str、“base64”).toString(“二进制”)收集数据。
var http = require('http'),
cluster = require('cluster'),
path = require('path')
url = require('url')
util = require('util')
function posthandler(request,response){
if(request.url=="/image_streamer"){
var datum = [];
request.on('data',function(d){datum.push(d);});
request.on('end',function(){
datum = JSON.parse(datum.join("").toString('utf8'));
datum.image = new Buffer(datum.image,"base64");
// datum.image NOW POINTS TO A BINARY BUFFER :) HAPPY DAYS.
});
}
}
var server = http.createServer(function(request,response){
switch(request.method){
case: "GET":{} break;
case: "POST":{posthandler(request,response);} break;
};
}).listen(8080);https://stackoverflow.com/questions/46760022
复制相似问题