window.URL.createObjectURL生成的地址末尾是一串uuid想换成文件名
时间: 2024-08-14 18:07:10 浏览: 92
浅谈js图片前端预览之filereader和window.URL.createObjectURL
`window.URL.createObjectURL()` 是 JavaScript 中用于创建一个指向特定文件或Blob对象的URL,这个URL通常是临时的,并且会自动在其生命周期结束时失效。默认生成的URL通常包含一个随机的UUID作为标识符,这是为了唯一地表示这个资源,而不是实际的文件名。
如果你想在URL中看到文件名而不是UUID,当处理本地文件或Blob对象时,你可以选择直接使用文件路径或者设置自定义名称。例如:
1. 对于File对象:
```javascript
const file = document.querySelector('input[type=file]').files;
const url = window.URL.createObjectURL(file);
```
在这种情况下,URL可能会类似 `blob:http://yourdomain.com/5b46c7d9-eeaa-41f9-a86c-xxxxxxxxxxxxx`,文件名可以在用户选取文件时查看到。
2. 如果你想创建一个看起来像文件名的URL,可以尝试构造一个字符串:
```javascript
function createNamedUrl(blob, fileName) {
const url = URL.createObjectURL(blob);
return url.replace(/blob:\/\//, 'file://///private/folder/' + fileName + '/');
}
const fileName = 'example.txt';
const url = createNamedUrl(file, fileName);
```
但这不会改变实际的URL结构,只是模拟了文件名。
阅读全文