相关疑难解决方法(0)

在浏览器中将SVG转换为图像(JPEG,PNG等)

我想通过JavaScript将SVG转换为位图图像(如JPEG,PNG等).

javascript svg

280
推荐指数
8
解决办法
27万
查看次数

如何从对象URL获取文件或blob?

我允许用户通过拖放和其他方法将图像加载到页面中.删除图像时,我正在使用URL.createObjectURL转换为对象URL来显示图像.我没有撤销网址,因为我重复使用它.

所以,当谈到时间来创建一个FormData对象,所以我可以让他们上传的形式,在它的形象之一,是有一些方法,然后我可以扭转这一目标URL回一个BlobFile因此我可以将其添加到FormData宾语?

javascript html5 blobs fileapi

104
推荐指数
6
解决办法
11万
查看次数

脚本上的"加载"事件具有异步和/或延迟

嵌入脚本时:

<script src="..." async defer></script>
Run Code Online (Sandbox Code Playgroud)

有没有办法知道他们什么时候装完?

通常在window.load调用事件时,人们会希望所有脚本都准备就绪.但我不知道当你用async或加载它们时是否仍然存在defer.我在线阅读了一些文档,但在这个问题上找不到任何结论.

html javascript html5

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

从API获取图像

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; 所以我可以在某个地方访问它.

javascript node.js reactjs

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

如何使用从浏览器发送到 Nodejs 服务器的 Blob 进行 Google Speech-to-Text

我正在尝试设置服务器以使用 接收来自客户端浏览器的音频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

9
推荐指数
1
解决办法
2420
查看次数

将图像 blob 上传到 Cloudinary

我在前端使用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 node.js express cloudinary react-router

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

blob 到 base64 转换 javascript

我正在尝试将 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)

html javascript base64 blob

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

将Blob转换为图像URL,并在image src中使用以显示图像

怎么把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)

错过了什么。请建议

blob filereader azure-storage-blobs typescript angular

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

如何使用 Ionic FileOpener 和 Capacitor 从 Blob 打开 PDF 文件

在我的 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)

ionic-framework capacitor

4
推荐指数
1
解决办法
5604
查看次数

将MediaRecorder音频转换为base64

我正在使用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?

html javascript audio base64 blob

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