vue.js 使用q-file Quasar获取绝对文件路径

n6lpvg4x  于 2022-11-17  发布在  Vue.js
关注(0)|答案(1)|浏览(518)

我是一个编程新手,我在Windows平台上建立了一个项目来处理ADB(Android Debugging Bridge)命令到通过USB连接的设备。我使用Quasar&Vue作为UI,使用Go Lang在后端处理ADB命令。在Quasar Framework中,我发现了q-file组件,用于从PC中提取文件,并希望通过http调用将任何APK文件的绝对路径发送到后端,然后去做其余的阅读和安装该APK文件到我的Android设备.(需要的路径示例:C:\用户\Cenk\下载\Whatsapp.apk)
我添加了控制台日志记录在点我选择的文件,不能看到任何路径信息,如下所示。

我用的代码如下。谁能告诉我如何用q-file获取任何选定文件的绝对路径,或者我应该用其他组件来实现吗?

<q-file filled 
  bottom-slots 
  v-model="file" 
  label="Dosya Seç" 
  counter 
  max-files="12" 
  accept=".apk"
>
  <template v-slot:append>
    <q-icon v-if="file !== null" 
      name="close" 
      @click.stop.prevent="file = null" 
      class="cursor-pointer"
    />
    <q-icon name="create_new_folder" 
      @click.stop.prevent
    />
  </template>
</q-file>
nlejzf6q

nlejzf6q1#

使用两个对象,一个用于二进制大对象中图像,另一个用于URL,使用URL.createObjectURL从图像文件中获取URL:

<script setup>
import { ref } from 'vue'
const fotos = ref(null)
const fotos = ref(null)
const fotosURL = ref([])
const slide = ref(1)

function obtenerURL () {
if (fotos.value) {
fotos.value.forEach(element => {
  fotosURL.value.push(URL.createObjectURL(element))
})
}
}

</script>

<q-file
  v-model="fotos"
  label="Seleccione los archivos"
  filled
  multiple
  accept=".jpg, image/*"
  style="max-width: 400px"
  @update:model-value="obtenerURL"
/>
<q-carousel
  animated
  v-model="slide"
  arrows
  navigation
  infinite
  v-if="fotosURL.length>0"
>
  <q-carousel-slide v-for="(img,id) in fotosURL" :key="id"
  :name="id+1" :img-src="img" />
</q-carousel>

相关问题