【问题标题】:How to save javascript variable values in a textfile?如何将javascript变量值保存在文本文件中?
【发布时间】:2016-10-25 14:16:53
【问题描述】:

我正在尝试将图像的像素值保存在画布上。我编写了一个代码来提取单击位置的像素值(在图像上)。我想将 r,g,b 的值保存到一个文本文件中,以便在 python 烧瓶中完成的服务器端处理中使用它们。

var imageLoader = document.getElementById('imageLoader');
    imageLoader.addEventListener('change', handleImage, false);
var canvas = document.getElementById('imageCanvas');
var ctx = canvas.getContext('2d');

function handleImage(e){
    var reader = new FileReader();
    reader.onload = function(event){
        var img = new Image();
        img.onload = function(){
            canvas.width = img.width;
            canvas.height = img.height;
            ctx.drawImage(img,0,0);
        }
        img.src = event.target.result;
    }
    reader.readAsDataURL(e.target.files[0]);     
}

canvas.onclick = function(e) {
    var x = e.pageX;
    var y = e.pageY;
    var canvasColor = context.getImageData(x, y, 1,1); // rgba e [0,255]
    var pixels = canvasColor.data;
    var r = pixels[0];
    var g = pixels[1];
    var b = pixels[2];
    // i want to save r,g,b values in a text file for usage in the flask backend
}
<script type = "text/javascript" src="http://fiddle.jshell.net/js/lib/mootools-core-1.4.5-nocompat.js"></script>
<label>Image File:</label><br/>
<input type="file" id="imageLoader" name="imageLoader"/>
<canvas id="imageCanvas"></canvas>

【问题讨论】:

  • 根据我的经验,您不能仅通过 javascript 在服务器上保存任何内容您需要在服务器端提供一些服务,该服务可以存储从 javascript(客户端)提供的值
  • 如果你想存储本地然后使用COOKIES或**浏览器局部变量**
  • 你需要使用ajax和服务器端脚本。
  • 你能告诉我如何在烧瓶中为此编写服务器端脚本吗?我在这方面真的很新。

标签: javascript python json html


【解决方案1】:

你可以像这样修改你的函数:

canvas.onclick = function(e) {
    var x = e.pageX;
    var y = e.pageY;
    var canvasColor = context.getImageData(x, y, 1,1); // rgba e [0,255]
    var pixels = canvasColor.data;
    var r = pixels[0];
    var g = pixels[1];
    var b = pixels[2];
    // i want to save r,g,b values in a text file for usage in the flask backend

    //asign rgb values to the input
    document.getElementById('imageLoader').value = r + ',' + g + ',' + b;
}

然后使用 Ajax o 使用通常的表单(提交按钮)发送并保存在文本文件中。

【讨论】:

  • 我的功能不工作。这是我写的代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-27
  • 2023-04-09
相关资源
最近更新 更多