useObjectUrl
响应式对象的 URL。
通过 URL.createObjectURL() 为提供的 File
、Blob
或 MediaSource
创建一个 URL,并在源发生变化或组件卸载时自动释放 URL,通过 URL.revokeObjectURL() 实现。
示例
选择文件:
Object URL:
none
使用方法
vue
<script setup>
import { useObjectUrl } from '@vueuse/core'
import { shallowRef } from 'vue'
const file = shallowRef()
const url = useObjectUrl(file)
function onFileChange(event) {
file.value = event.target.files[0]
}
</script>
<template>
<input type="file" @change="onFileChange">
<a :href="url">打开文件</a>
</template>
组件使用
vue
<template>
<UseObjectUrl v-slot="url" :object="file">
<a :href="url">打开文件</a>
</UseObjectUrl>
</template>
类型声明
typescript
/**
* 响应式 Object URL
*
* @see https://vueuse.org/useObjectUrl
* @param object
*/
export declare function useObjectUrl(
object: MaybeRefOrGetter<Blob | MediaSource | null | undefined>,
): Readonly<Ref<string | undefined, string | undefined>>
源码
贡献者
Anthony Fu
一纸忘忧
Anthony Fu
Andrew Ferreira
vaakian X
BaboonKing
Michael Hüneburg
更新日志
v12.3.0
on 1/2/202559f75
- feat(toValue): deprecate toValue
from @vueuse/shared
in favor of Vue's nativev12.0.0-beta.1
on 11/21/2024v10.3.0
on 7/30/2023v9.11.0
on 1/17/2023