我想通过JavaScript将SVG转换为位图图像(如JPEG,PNG等).
我允许用户通过拖放和其他方法将图像加载到页面中.删除图像时,我正在使用URL.createObjectURL转换为对象URL来显示图像.我没有撤销网址,因为我重复使用它.
所以,当谈到时间来创建一个FormData对象,所以我可以让他们上传的形式,在它的形象之一,是有一些方法,然后我可以扭转这一目标URL回一个Blob或File因此我可以将其添加到FormData宾语?
嵌入脚本时:
<script src="..." async defer></script>
Run Code Online (Sandbox Code Playgroud)
有没有办法知道他们什么时候装完?
通常在window.load调用事件时,人们会希望所有脚本都准备就绪.但我不知道当你用async或加载它们时是否仍然存在defer.我在线阅读了一些文档,但在这个问题上找不到任何结论.
Q1)在我的reactjs应用程序中,我试图从我的后端Nodejs服务器获取API.API根据请求响应图像文件.
我可以访问http://192.168.22.124:3000/source/592018124023PM-pexels-photo.jpg查看图像文件
但在我的reactjs客户端,我在控制台日志中收到此错误.
未捕获(在promise中)SyntaxError:位于0的JSON中的意外标记.
Reactjs:
let fetchURL = 'http://192.168.22.124:3000/source/';
let image = name.map((picName) => {
return picName
})
fetch(fetchURL + image)
.then(response => response.json())
.then(images => console.log(fetchURL + images));
Run Code Online (Sandbox Code Playgroud)
的NodeJS:
app.get('/source/:fileid', (req, res) => {
const { fileid } = req.params;
res.sendFile(__dirname + /data/ + fileid);
});
Run Code Online (Sandbox Code Playgroud)
有什么比我上面做的更好的方法吗?
Q2)另外,如何为空变量赋值(它存在于fetch函数之外)
jpg = fetchURL + images; 所以我可以在某个地方访问它.
我正在尝试设置服务器以使用 接收来自客户端浏览器的音频SocketIO,然后通过 Google Speech-to-Text 对其进行处理,最后将文本回复给客户端。
最初和理想情况下,我想设置得有点像此页面上的工具:https : //cloud.google.com/speech-to-text/
我尝试使用getUserMedia和流式传输它SocketIO-Stream,但我不知道如何“管道” MediaStream。
相反,现在我决定MediaRecorder在客户端使用,然后将数据作为 blob 一起发送(见本示例)。
然后我申请toString('base64')blob 并在 blob 上调用 google-cloud/speech client.recognize()。
客户端(我正在使用 VueJS):
new Vue({
el: '#app',
data: function () {
return ({
msgs: [],
socket: null,
recorder: null,
: []
})
},
mounted: function () {
this.socket = io.connect('localhost:3000/user');
console.log('Connected!')
this.socket.on('text', function (text) {
this.msgs.push(text)
})
},
methods: {
startRecording: function () {
if (this.recorder && …Run Code Online (Sandbox Code Playgroud) audio-streaming node.js socket.io getusermedia google-speech-api
我在前端使用react和react-router,使用node+express作为后端,使用cloudinary来存储我的图像文件。
我遇到的问题是 cloudinary api 方法似乎无法打开/解析存储图像的数据 blob
{ images: { preview: 'blob:http://localhost:8080/19526dcc-b67d-4697-b112-e5480de61d03' } }
cloudinary.v2.uploader.upload(body.images.preview, function(result) {
console.log(result)
})
Run Code Online (Sandbox Code Playgroud)
错误响应:
{ Error: ENOENT: no such file or directory, open 'blob:http://localhost:8080/e7f30c71-7e06-4c36-801f-49666e9df053'
at Error (native)
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: 'blob:http://localhost:8080/e7f30c71-7e06-4c36-801f-49666e9df053'
}
Run Code Online (Sandbox Code Playgroud)
不确定这是否是由于反应路由器导致的问题,或者我应该将数据转换为不同的格式?
路线如下:
app.use('/api/', posts);
app.use('/api/', users);
app.use(express.static(staticPath));
app.use('/', express.static(staticPath));
app.use('/posts/*', express.static(staticPath));
app.use('/new/*', express.static(staticPath));
app.use('/validateEmail/*', express.static(staticPath));
Run Code Online (Sandbox Code Playgroud) 我正在尝试将 blob 对象解析为 JavaScript 中的 base64 字符串。请帮忙。我的代码是
var reader = new FileReader();
reader.addEventListener("loadend", function () {
// reader.result contains the contents of blob as a typed array
var buffer = reader.result;
var view = new Uint8Array(buffer);
var binary = String.fromCharCode.apply(window, view);
var base64 = btoa(binary);
cb(base64);
console.log(base64);
});
reader.readAsArrayBuffer(data.blob);
Run Code Online (Sandbox Code Playgroud) 怎么把blob转换成base64 / image?
我正在通过API调用获取此Blob,并且尝试将其显示在
图像中。我已经尝试过stackoverflow答案,但没有任何帮助,所以
我尝试了一下。
//Angular 5 code
imageSrc;//global variable
data = [{"image_blob":{"type":"img/jpg","data":[123,125]}}];//from api
var blob1 = new Blob([new Uint8Array(data[0].image_blob.data)]);
const imageUrl = URL.createObjectURL(blob1);
console.log(imageUrl);//blob:http://localhost:8100/c489.etc
this.imageSrc = imageUrl;
<!-- html code -->
<img [src]='imageSrc' alt="image">
Run Code Online (Sandbox Code Playgroud)
错过了什么。请建议
在我的 Ionic 5 项目中,我将 PDF 下载到设备(物理 iPhone Pro、iOS 模拟器以及 Android 设备)。转换为 Base64 并存储为 .txt 文件。我正在检索文件如下:
const options = {
path: path,
directory: FilesystemDirectory.Data,
encoding: FilesystemEncoding.UTF8
}
Filesystem.readFile(options)
.then(result => {
const jsonCast = JSON.parse(result.data)
const blop: Blob = this.convertBase64ToBlob(jsonCast)
resolve(blop)
})
Run Code Online (Sandbox Code Playgroud)
我的代码的下一步是获取 Blob 文件的 URL:
const fileURL = URL.createObjectURL(blob)
Run Code Online (Sandbox Code Playgroud)
现在使用 Ionic native 的 FileOpener,当我尝试使用以下方法打开文件时:
this.fileOpener.open(blobURL, 'application/pdf')
Run Code Online (Sandbox Code Playgroud)
我收到错误消息,该File does not exist.
?? [log] - fileURL: blob:capacitor://localhost/ff4efd06-a313-44ce-b386-c756d456e72f
2019-09-23 17:06:19.267144-0700 App[25791:19944973] Path parameter not encoded. Building file URL encoding it...
2019-09-23 …Run Code Online (Sandbox Code Playgroud) 我正在使用MediaRecorder API在页面上录制音频。
我需要将此音频转换为base64。
看这个例子。
每次有新数据可用时,它将数据推入数组,如下所示:
function handleDataAvailable(event) {
if (event.data && event.data.size > 0) {
recordedBlobs.push(event.data);
}
}
Run Code Online (Sandbox Code Playgroud)
然后,它将所有这些数据合并在一起,如下所示:
var superBuffer = new Blob(recordedBlobs, {type: 'video/webm'});
Run Code Online (Sandbox Code Playgroud)
那么如何将其转换superBuffer为base64?
javascript ×6
blob ×4
html ×3
node.js ×3
base64 ×2
html5 ×2
angular ×1
audio ×1
blobs ×1
capacitor ×1
cloudinary ×1
express ×1
fileapi ×1
filereader ×1
getusermedia ×1
react-router ×1
reactjs ×1
socket.io ×1
svg ×1
typescript ×1