将 Tauri File-Drop 事件转换为真实文件

问题描述 投票:0回答:1

我正在使用 Tauri 和 js api。我正在尝试获取放入窗口中的文件,我使用了 File-Drop 事件,但它返回了一个事件,我需要将其转换为真实文件,因为我正在尝试将文件发送到 API 并且我使用一个 formData 来格式化它。

file events form-data tauri
1个回答
0
投票

洛里克斯。我知道这已经过时了,但我想我为自己找到了解决方案,所以我想与未来的搜索者分享。

首先,确保您尝试将文件拖放到其中的窗口已在

tauri.conf.json
中配置,键值为
"fileDropEnabled": true
。并确保您已在前端安装了 tauri api:
npm install @tauri-apps/api

然后,在前端,您需要使用 API 监听

tauri://file-drop
事件。 对我来说,这个导入看起来像这样:
import { listen } from '@tauri-apps/api/event'

然后在前端逻辑中的某个地方,您需要使用

listen
api 函数等待事件:

  import { listen } from '@tauri-apps/api/event';

  await listen("tauri://file-drop", async (e) => {
    // event handling logic
  })

生成的事件是具有以下形状的对象(TypeScript):

{
  id: number,
  event: string,
  windowLabel: string,
  payload: string[],
}

其中

payload
是事件在 drop 上注册的所有文件的路径数组。

© www.soinside.com 2019 - 2024. All rights reserved.