跳至內容

useObjectUrl

類別
導出大小
263 B
上次變更
5 天前

代表物件的響應式 URL。

透過 URL.createObjectURL() 為提供的 FileBlobMediaSource 建立 URL,並在來源變更或元件卸載時,透過 URL.revokeObjectURL() 自動釋放 URL。

範例

選擇檔案
物件 URL

用法

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">Open file</a>
</template>

元件用法

此函式也透過 @vueuse/components 套件提供無渲染元件版本。瞭解更多關於用法

vue
<template>
  <UseObjectUrl v-slot="url" :object="file">
    <a :href="url">Open file</a>
  </UseObjectUrl>
</template>

類型宣告

typescript
/**
 * Reactive URL representing an object.
 *
 * @see https://vueuse.dev.org.tw/useObjectUrl
 * @param object
 */
export declare function useObjectUrl(
  object: MaybeRefOrGetter<Blob | MediaSource | null | undefined>,
): Readonly<Ref<string | undefined, string | undefined>>

原始碼

原始碼範例文件

貢獻者

Anthony Fu
IlyaL
Anthony Fu
Andrew Ferreira
vaakian X
BaboonKing
Michael Hüneburg

更新日誌

v12.8.0 於 2025/3/5
7432f - feat(types): 棄用 MaybeRefMaybeRefOrGetter,改用 Vue 原生功能 (#4636)
v12.3.0 於 2025/1/2
59f75 - feat(toValue): 棄用 @vueuse/shared 中的 toValue,改用 Vue 原生功能
v12.0.0-beta.1 於 2024/11/21
0a9ed - feat!: 移除 Vue 2 支援,最佳化 bundle 並清理程式碼 (#4349)
v10.3.0 於 2023/7/30
d3f7e - fix: 改善參數類型 (#3239)

以 MIT 授權條款發佈。