相关疑难解决方法(0)

无法在'Window'上执行'atob'

当用户按下ctrl + s按键但Chrome崩溃时,我正在尝试将我的HTML文件保存在Chrome中.

(我只想下载我的HTML文件的源代码)

我读到它发生是因为我的文件大于1.99M ..

在第一次尝试中(在我知道Chrome崩溃之前):

function download(filename, text) {
    var pom = document.createElement('a');
    pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
    pom.setAttribute('download', filename);
    pom.click();
}

download('test.html', "<html>" + document.getElementsByTagName('html')[0].innerHTML + "</html>");
Run Code Online (Sandbox Code Playgroud)

在我读到关于崩溃的第二次尝试之后,我使用了blob:

function dataURItoBlob(dataURI) {
    var byteString = atob(dataURI.split(',')[1]);

    var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0]

    var ab = new ArrayBuffer(byteString.length);
    var ia = new Uint8Array(ab);
    for (var i = 0; i < byteString.length; i++) {
        ia[i] = byteString.charCodeAt(i);
    }

    var bb = new BlobBuilder();
    bb.append(ab);
    return bb.getBlob(mimeString);
}

function download(dataURI) …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

28
推荐指数
4
解决办法
7万
查看次数

json_encode不使用html字符串作为值

我现在正在调试这个ajax很长一段时间.我在我的jQUery文件中有这个:

$("#typeForm").ajaxForm({
    success : function(html){
        alert(html);
}).submit();
Run Code Online (Sandbox Code Playgroud)

这会调用service.php,在其中我有这个:

$data = array('upload_data' => $this->upload->data());
$str = "<div style='position:relative'><img src='/assets/ui/success.png' /><span style='position:relative;top:-15px;'>Nachricht empfangen!</span></div>";
echo json_encode(array('file_name' => $data['upload_data']['file_name'], 'prompt' => $str));
Run Code Online (Sandbox Code Playgroud)

这不行.但通过更换$str$str = "HELLO WORLD";了jQuery提醒我应该怎么期待.什么似乎是问题?

编辑:

这是输出的屏幕:

在此输入图像描述

它会发出警报,但如果我将jQuery修改为:

$("#typeForm").ajaxForm({
    success : function(html){
        var obj = $.parseJSON(html);
        alert(obj);
}).submit();
Run Code Online (Sandbox Code Playgroud)

然后它什么都不做,甚至提醒.

我做了一个var_dump json_encode,这里是转储,它看起来像一个格式错误的JSON:

string(214) "{"file_name":"cde595988d386529909ce5a8fe3a6d6f.png","prompt":"<div style="position:relative;"><img src="\/assets\/ui\/success.png" \=""><span style="position:relative;top:-15px;">Nachricht empfangen!&lt;\/span&gt;&lt;\/div&gt;"}"
</span></div>
Run Code Online (Sandbox Code Playgroud)

这是service.php的完整内容

class Service extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
    }
    public function index() …
Run Code Online (Sandbox Code Playgroud)

php ajax jquery json

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

使用javascript和websockets从blob显示图像

我目前正在研究一个显示由C++服务器发送的图像的WebSocket应用程序.我在那里看到了几个主题,但我似乎无法在Firefox中摆脱这个错误:

图像损坏或截断:data:image/png; base64,[some data]

这是我用来显示我的blob的Javascript代码:

socket.onmessage = function(msg) {
    var blob = msg.data;

    var reader = new FileReader();
    reader.onloadend = function() {
        var string = reader.result;
        var buffer = Base64.encode(string);
        var data = "data:image/png;base64,"+buffer;

        var image = document.getElementById('image');
        image.src = data;
    };
    reader.readAsBinaryString(blob);
}
Run Code Online (Sandbox Code Playgroud)

我正在使用我在这个主题上找到的红点图片:https://stackoverflow.com/a/4478878/1464608 而Base64类来自这里:https://stackoverflow.com/a/246813/ 1464608

但我获得的base64结果不匹配,Firefox检索到图像被损坏的错误.

我知道这不是很多信息,但我不知道在哪里看:/任何帮助都非常受欢迎!

javascript html5 blob filereader websocket

26
推荐指数
4
解决办法
6万
查看次数

使用JavaScript确定字符串是否在base64中

我正在使用该window.atob('string')函数将字符串从base64解码为字符串.现在我想知道,有没有办法检查'string'实际上是否有效base64?如果字符串不是base64,我希望收到通知,以便我可以执行不同的操作.

javascript base64

25
推荐指数
7
解决办法
4万
查看次数

如何使用Javascript和XMLHttpRequest加载二进制图像数据?

我试图加载一个图像客户端和base64编码服务器返回的字节,以传递它来执行一些处理.IE具有XMLHttpRequest对象的RequestBody属性,但我似乎无法使用它,并且RequestText被截断.在Firefox中,RequestText存在,但似乎已损坏.

javascript image xmlhttprequest

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

使用jackson在json中发送一个字节数组

我想形成一个带有两个字段mimetype和value的JSON.值字段应该以字节数组作为其值.

{

  "mimetype":"text/plain",

  "value":"dasdsaAssadsadasd212sadasd"//this value is of type byte[]

}
Run Code Online (Sandbox Code Playgroud)

我怎样才能完成这项任务?

截至目前,我正在使用toString()方法将字节数组转换为String并形成JSON.

json jackson

23
推荐指数
3
解决办法
6万
查看次数

JSON使用JavaScript编码/解码base64编码/解码

JavaScript中是否有JSON编码/解码base64编码/解码功能?

javascript base64 json

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

如何在javascript里面进行base64编码

我正在尝试在网站上实现一个简单的脚本,该脚本将从google的ajax API返回base64编码信息.这就是我到目前为止所玩的:

<html>
<head>
<script src="http://www.google.com/jsapi?key=ABQIAAAA0duujonFsEX871htGWZBHRS76H0qhS7Lb-D1Gd0Mnaiuid8Z7BQIyz2kMpojKizoyiCQA4yRkKAKug" type="text/javascript"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
  jQuery(document).ready(function() {
    var location = 'Unable to determine your location.';
    if (google.loader.ClientLocation) {
      var loc = google.loader.ClientLocation;
      location = 'Country: <strong>' + loc.address.country + '</strong>, Region: <strong>' + loc.address.region + '</strong>, City: <strong>' +
                 loc.address.city + '</strong>, Lat/Long: <strong>' + loc.latitude + ', ' + loc.longitude + '</strong>';
    }
    jQuery('.geolocation').html(location);
  });
</script>
</head>
<body>
<span class="geolocation"></span>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

它返回我正在尝试正确的信息,但我需要base64编码单独的部分,如国家,地区,城市,纬度和经度.在PHP中它会很简单,但我无法弄清楚如何在javascript中做到这一点.任何帮助,将不胜感激.

javascript base64 geolocation

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

如何在没有FileReader的情况下从Blob和File对象创建ArrayBuffer和数据URI?

此问题与旧浏览器中如何更新(与Safari 5.1.4相关)有关并受其启发

给定一个<input type="file">具有元件files包含属性File从继承的对象Blob,是有可能创造一个ArrayBuffer和转换ArrayBuffer到一个data URI从一个BlobFile对象,而无需使用FileReader

到目前为止已尝试过方法

  • WebSocket使用.binaryTypeset 创建一个mock "arraybuffer",创建一个MessageEventwith event.dataset to Fileobject; 结果是处理程序的File对象onmessage

  • 设置原型FileArrayBuffer,Uint8Array; 结果是Uncaught TypeError: Method ArrayBuffer.prototype.byteLength called on incompatible receiver #<ArrayBuffer>(),Uncaught TypeError: Method get TypedArray.prototype.byteLength called on incompatible receiver [object Object]()

  • 设置File在 …

javascript blob fileapi typed-arrays data-uri

12
推荐指数
1
解决办法
2806
查看次数

如何从服务器发送png图像,通过ajax在浏览器中显示

我一直很难完成一项非常正常的任务.我将图像上传并保存到我的Web服务器并将路径保存到MySQL数据库中的文件(这一切都正常).不起作用的是从服务器获取图像文件并通过ajax在页面上显示它.

最初我试图从数据库中检索路径,并src使用图像路径更新标记的属性.这是有效的,但这样所有图像都在服务器上的文件夹中,人们都可以访问它们.这个不好.我只能拥有这些用户可以访问的某些用户的图片.

为了限制对这些照片的访问,我在该文件夹上添加了一个Apache指令,该指令成功地限制了访问.然后问题变成了我无法通过将src属性设置为该路径来在浏览器中显示图像.请参阅我的帖子:https://serverfault.com/questions/425974/apache-deny-access-to-images-folder-but-still-able-to-display-via-img-on-site

最后我了解到我必须使用PHP直接从服务器读取图像数据并将此数据发送到浏览器.我使用了file_get_contents()函数,该函数用于将服务器上的图像文件(PNG)转换为字符串.我在ajax调用中将此字符串返回给浏​​览器.我无法得到的是: 如何使用JavaScript将此字符串转换回图像?

看到这段代码:

$.ajax({
    url: get_image.php,
    success: function(image_string){
        //how to load this image string from file_get_contents to the browser??
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript php ajax png image

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