首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用NeutralinoJS获取输入文件路径

使用NeutralinoJS获取输入文件路径
EN

Stack Overflow用户
提问于 2021-05-31 22:16:41
回答 2查看 225关注 0票数 2

如何使用NeutralinoJS获取输入文件路径?

我的代码:

代码语言:javascript
复制
<input type="file" id="inputFile">
代码语言:javascript
复制
const inputFilePath = document.getElementById('inputFile').files[0].path
console.log(inputFilePath)
EN

回答 2

Stack Overflow用户

发布于 2021-06-14 01:05:11

我不认为浏览器允许你获取文件路径。

您可以使用文件选择器API来代替os.showDialogOpen(DialogOpenOptions)https://neutralino.js.org/docs/api/os#osshowdialogopendialogopenoptions

代码语言:javascript
复制
<button onclick="onFileUpload()">
代码语言:javascript
复制
async onFileUpload () {
  let response = await Neutralino.os.showDialogOpen({
    title: 'Select a file'
  })
  console.log(`You've selected: ${response.selectedEntry}`)
}
票数 2
EN

Stack Overflow用户

发布于 2021-08-08 08:08:38

为什么需要路径?如果您需要上传文件中的内容,可以通过javascript filereader API获取并使用这些内容。如果您需要该文件供以后使用,您可以通过js filereader读取该文件,然后使用filesystem.writeFile(WriteFileOptions)创建一个新文件并将其保存到您的首选位置(可能是应用程序内部临时路径)。确保目标路径存在。为此,您可以使用filesystem.createDirectory(CreateDirectoryOptions)

jQuery示例:

代码语言:javascript
复制
jQuery(document).on('change','#myUpload',function(){ //Click on file input
  if(jQuery(this).val().length > 0){ //Check if a file was chosen
    let input_file = this.files[0];
    let file_name = input_file.name;
    let fr = new FileReader();
    fr.onload = function(e) {
        fileCont = e.target.result;
        //Do something with file content
        saveMyFile(file_name, fileCont); //execute async function to save file
    };
    fr.readAsText(input_file);
  }
});

async function saveMyFile(myFileName, myFileContent){
    await Neutralino.filesystem.createDirectory({ path: './myDestPath' }).then(data => { console.log("Path created."); },() => { console.log("Path already exists."); }); //create path if it does not exist
    //write the file:
    await Neutralino.filesystem.writeFile({
        fileName: './myDestPath/' + myFileName,
        data: myFileContent
    });
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67775464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档