javascript - 如何将图像从 SimpleHTTPServer 存储到我的计算机?

标签 javascript html simplehttpserver

我正在使用 SimpleHTTPServer 提供目录服务并在本地运行 html 代码。在那里,我使用 getusermedia api 来拍摄一些照片。如果我使用js localstorage来存储图片,那么它们到底存储在哪里呢?如何将它们复制到已知目录?

最佳答案

浏览器通常在加密的、完全私有(private)的区域中管理 localStorage 和 sessionStorage 变量,以便您的浏览体验尽可能安全(想象一下,如果某人访问您的网页时您可以读写他们的文件!!)。

在客户端计算机不知情的情况下,您无法将图像复制到客户端计算机或从客户端计算机复制图像。但是,您可以在服务器端自动下载。

关于保存之前下载的图片,请参见:

How to save an image to localStorage and display it on the next page?

但是,请注意,最大存储空间通常是有上限的,浏览器及其相关环境之间的大小差异很大。

我自己的测试表明 Chromium 默认情况下仅支持 10x 5mb 文件。

编辑:

至于复制到已知目录,您必须将文件发送回您的 http 服务器并从那里收集它们。如果您愿意,您可以使用ajax,将数据转换为base64,使您能够以json字符串发送数据(“未能对数据进行编码将导致错误”),并在服务器端使用 new Buffer(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);

关于javascript - 如何将图像从 SimpleHTTPServer 存储到我的计算机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46760022/

相关文章:

javascript - 寻找在提交表单时更改表单 div 而不刷新页面的脚本

python - SimpleHTTPServer 404 消息找不到文件(尝试加载 bootstrap.js)

javascript - 将 Action 链接在一起形成 NgRx (Angular) 的效果

javascript - 结构化编程 - 这个 javascript 模式叫什么?使用它好吗?

javascript - 如何将单选按钮值从表单发送到电子邮件

python - 从外部网络访问 SimpleHTTPServer

在线程中启动的 Python 的 SimpleHTTPServer 不会关闭端口

javascript - 为什么 Number() 会返回非常大的整数的错误值?

java - 分页:如何使用 AJAX 加载第一页

javascript - 尝试在视频标签上设置 crossorigin 属性时,视频播放已损坏