相关疑难解决方法(0)

处理来自XMLHttpRequest的图像(使用HTML和Javascript)

我正在使用XMLHttpRequest从服务器获取图像(从第三方服务器小程序本地运行)

简化的代码版本如下所示.

图像以JPEG格式返回,返回的标题显示"content-type = image/jpg".我可以通过Firebug for Firefox查看信息.

但是我有一个可怕的时间能够在网页上显示实际图像,因为它是从服务器返回的图像数据而不是图像位置的uri.

从返回的数据中显示此图像的正确方法是什么?我应该使用<span>标签,<img>标签还是<magical-show-image-from-data>标签?

function getXML(url, postData, requestStateChangeHandler){        
    if(window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else
    {//Code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = requestStateChangeHandler;

    xmlhttp.open("POST", url, true);
    xmlhttp.setRequestHeader('Content-Type', 'text/xml');
    xmlhttp.setRequestHeader('Cache-Control', 'no-cache');
    xmlhttp.send(postData);
}


function requestStateChangeHandler(){
    if (xmlhttp.readyState == 4) 
    {
        if(xmlhttp.status == 200)
        {
            document.getElementById('results').innerHTML = xmlhttp.responseText;
        }
        else
            dump("Error loading page\n");
    }
}
Run Code Online (Sandbox Code Playgroud)

html javascript xml dom image

6
推荐指数
1
解决办法
2万
查看次数

Javascript将字符串格式的GUID转换为Base64

我在客户端,javascript环境中.我有一个GUID字符串格式e8b75aff-3422-4529-8a6a-15b33e674f48,我需要它在一个Base64字符串中/1q36CI0KUWKahWzPmdPSA== 如何转换它?

谢谢.

javascript base64 guid

6
推荐指数
1
解决办法
3850
查看次数

如何在html5本地存储中保存html,javascript和css文件?

有没有办法在html5本地存储中存储html,javascript和css文件?

我想让我的webapplication更快!

谢谢

javascript css html5

6
推荐指数
2
解决办法
7770
查看次数

如何在javascript中base64编码图像

我正在开发一个phonegap应用程序并使用该navigator.getPicture方法来获取图像.

我得到这张照片的方式是:

navigator.camera.getPicture(onSuccess, onFail, { quality: 50, 
destinationType: Camera.DestinationType.FILE_URI });

function onSuccess(imageURI) {
    var image = document.getElementById('myImage');
    image.src = imageURI;
}
Run Code Online (Sandbox Code Playgroud)

就像phonegap doc中的例子一样.

我希望能够使用imageURI,然后将其转换为图像数据,以便以后上传.(我不想使用phonegap的FileTransfer)

到目前为止,我已尝试用JavaScript获取图像数据?并且你怎么能编码在JavaScript字符串为Base64?

当我尝试以下,

function onSuccess(imageURI) {
    getBase64Image(imageURI);
}

function getBase64Image(img) {
    // Create an empty canvas element
    var canvas = document.createElement("canvas");
    canvas.width = img.width;
    canvas.height = img.height;

    // Copy the image contents to the canvas
    var ctx = canvas.getContext("2d");
   ctx.drawImage(img, 0, 0);

   // Get the data-URL formatted image
   // Firefox supports PNG …
Run Code Online (Sandbox Code Playgroud)

javascript base64 android image cordova

6
推荐指数
1
解决办法
8596
查看次数

XMLHttpRequest无法进行基本身份验证

知道为什么XMLHttpRequest使用正确的凭据在Pebble JS FrameworkAndroid上的基本身份验证失败但在iOS中有效吗?

完全相同的代码,类似于:

var req = new XMLHttpRequest();
req.open(method, url, true, user, pass);
req.send(data);
req.onreadystatechange = function() { ... }
Run Code Online (Sandbox Code Playgroud)

从Android Pebble应用程序返回401,但在iOS中正确验证.

ajax xmlhttprequest pebble-watch pebble-sdk

6
推荐指数
1
解决办法
2万
查看次数

在浏览器中解码 Base64 编码的 PDF 内容

我们在后端 (PHP) 中使用dompdf将 HTML 转换为 PDF 。dompdf 生成的输出是 Base64 编码的

$output = $dompdf->output();
base64_encode($output);
Run Code Online (Sandbox Code Playgroud)

这个 Base64 编码的内容作为文件保存在服务器上。当我们像这样解码这个文件内容时:

cat /tmp/55acbaa9600f4 | base64 -D > test.pdf
Run Code Online (Sandbox Code Playgroud)

我们得到一个合适的 PDF 文件。

但是当我们将 Base64 内容作为 JSON 对象内的字符串值传输到客户端时(服务器提供了 RESTful API...):

{
  "file_data": "...the base64 string..."
}
Run Code Online (Sandbox Code Playgroud)

并使用 atob() 对其进行解码,然后创建一个 Blob 对象以稍后下载文件,PDF 始终为“空”/损坏。

$scope.downloadFileData = function(doc) {
  DocumentService.getFileData(doc).then(function(data) {
    var decodedFileData = atob(data.file_data);
    var file = new Blob([decodedFileData], { type: doc.file_type });
    saveAs(file, doc.title + '.' + doc.extension);
  });
};
Run Code Online (Sandbox Code Playgroud)

当我们记录解码的内容时,似乎内容被“破坏”了,因为几个符号与我们使用base64 -D在服务器上解码内容时不一样。

当我们编码/解码简单文本/普通文档的内容时,它按预期工作。但是所有二进制(或非 ASCII 格式)都不起作用。 …

javascript pdf base64 encoding json

6
推荐指数
1
解决办法
2万
查看次数

我可以通过XDomainRequest正确读取二进制数据吗?

编辑:考虑到dennmat的建议,我已经设法将我的图像获取脚本简化为几行,使用Image():

window.onload = function(){
    var img;
    capture_canvas          = document.createElement('canvas');
    capture_canvas.width    = 1000;
    capture_canvas.height   = 1000;
    document.documentElement.appendChild(capture_canvas);
    img = new Image();
    img.crossOrigin = "Anonymous";        
    img.src = "http://www.shangalulu.com/get_resource_no_64.php?url=http://www.shangalulu.com/users/1196739508/post/41-1330377498/41-1330377498_thumb.jpg";
    img.onload = function() {
        var context, canvas_img;
        context = capture_canvas.getContext('2d');
        context.drawImage(img, 0, 0, 255, 255);
        canvas_img = context.getImageData(0, 0, capture_canvas.width, capture_canvas.height);
    }
}
Run Code Online (Sandbox Code Playgroud)

虽然这适用于Chrome和Firefox,但这不适用于IE9.以下链接中提到的解决方案似乎不适用于这种情况.未捕获错误:SECURITY_ERR:DOM异常18当我尝试设置cookie时

Image()IE9是否支持cors功能?


我遇到了一个小问题.

http://www.shangalulu.com/get_resource_no_64.php?url=http://www.shangalulu.com/resources/images/sample/sample.png

上面的图像实际上是一个包含标准png标题的文件,后跟255个字节,从255变为0(两次).我们的想法是了解Internet Explorer 9如何通过AJAX请求处理接收二进制数据.

所以,这是我的问题:我注意到当我在客户端上收到一个大于127的字节时,该值默认为253.有没有办法让IE用正确的值读取扩展字节?

需要注意以下几点:

1)我们不使用任何类型的JavaScript框架.这是一个要求,我们只使用裸骨javascript.

2)这个实验的目的是制作一个干净的方式来获取图像,这样我就可以把它放在画布上而不会弄乱它.有时这些图像来自我们的外部托管图像服务器,有时它将来自我们无法控制的另一台主机.

下面是我的测试脚本:

var request;
window.onload = function(){
    request = new XMLHttpRequest();
    if (window.XDomainRequest) {
        request = new …
Run Code Online (Sandbox Code Playgroud)

javascript cors internet-explorer-9 xdr xdomainrequest

5
推荐指数
1
解决办法
1532
查看次数

使用 Javascript 设置 Cookie 并清理值

我需要使用 javascript 设置 cookie,我使用以下命令执行此操作:

document.cookie = name+"="+value;
Run Code Online (Sandbox Code Playgroud)

我的问题是这value是一个字符串,它可以包含任何 unicode 字符。

是否有一个函数可以自动替换特殊字符(例如;) - 如果没有,哪些字符是被禁止的?

像“encodeURIComponent()”这样的用于获取参数的函数将是完美的

javascript cookies special-characters

5
推荐指数
1
解决办法
5844
查看次数

通过setRequestHeader授权

我发现这个代码可以使用setRequestheader和Ajax进行身份验证.

this.xmlDoc.setRequestHeader('Authorization','Basic ' + Base64.encode("User:Password"));
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不知道Ajax和Base64似乎不是我可以引用的类或方法.这种基本加密有替代方案吗?或者我可以从Javascript调用的simular编码函数?

谢谢 !

javascript authentication

5
推荐指数
1
解决办法
1万
查看次数

React.js 从本地文件读取

我目前在我的应用程序中使用与节点 js 的反应。

我试图从文本文件中读取,当我尝试不同的事情时会得到不同的错误。通过研究,从文件读取的最简单路径是使用“fs”,因此我将发布我尝试从本地文件(客户端)读取的两种方法。

如果有人可以帮助解决我的错误,或者甚至向我展示从本地文件中读取的不同方式,我将不胜感激!

import React ...
import { readFile, readFileSync } from 'fs';
// other imports

class Background extends Component {
     // my constructor

     componentDidMount() {
         this.loadMe();
     }

     loadMe() {
          var file = './read_file';

          /* WAY 1: Asynchronously using readFile */
          readFile(file, function(err, data) {
               if (err) { console.log(err) }
               console.log(data);
          }

          /* WAY 2: Synchronously using readFileSync */
          var data = readFileSync(file);
          console.log(data);
     }
}
Run Code Online (Sandbox Code Playgroud)

显然,我不会同时运行两种方式。我还基本上从其他堆栈溢出答案和一些在线教程中复制了代码。我查看了FileReader但无法使其工作。

我目前收到的错误:TypeError: Object(...) is not a function 指向var …

fs node.js reactjs

5
推荐指数
1
解决办法
2万
查看次数