我目前正在研究一个显示由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检索到图像被损坏的错误.
我知道这不是很多信息,但我不知道在哪里看:/任何帮助都非常受欢迎!
所以我正在尝试创建一个服务,它将位于Finder的上下文菜单中,并允许在当前目录中创建一个新文档.
我一直在使用Automator:
对不起,一切都在法语^^
无论如何这里是我用来检索当前工作目录的AppleScript:
on run {input, parameters}
tell application "Finder"
set pwdAlias to insertion location as alias
if not (exists folder pwdAlias) then
set pwdAlias to (container of pwdAlias) as alias
end if
end tell
set pwd to POSIX path of pwdAlias
return pwd
end run
Run Code Online (Sandbox Code Playgroud)
然后我将此值设置为变量,然后使用变量作为文档的路径创建新的文本文档,最后我使用Finder中的Reveal命令来显示创建的文档.
一切都运行正常,但脚本似乎总是迟到!我的意思是当我打开一个新的Finder窗口并选择我的服务时,它会在前一个窗口上系统地创建文档,如下所示:
但是,如果我再次尝试,则会在预期位置正确创建文档:
这是非常系统的,每次都会发生!
对不起,如果我不是很清楚,解释起来就不那么容易了!
好吧,否则,我正在运行Mountain Lion,这是附加的Automator项目:create_new_document
要添加服务只需解压缩并将文件放在〜/ Library/Services /下
希望得到一些答案,但我担心这只是一个Automator错误!
applescript ×1
automator ×1
blob ×1
filereader ×1
finder ×1
html5 ×1
javascript ×1
macos ×1
websocket ×1