首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用客户端clojurescript/re-frame应用程序读取文件

使用客户端clojurescript/re-frame应用程序读取文件
EN

Stack Overflow用户
提问于 2019-10-30 23:06:12
回答 1查看 262关注 0票数 1

我正在编写一个客户端应用程序,它应该读取文件,转换其内容,然后导出结果。为了做到这一点,我决定重新构建框架。

现在,我刚刚开始考虑重新构建和cloujurescipt本身,并获得了以下工作:

在我的视图函数中的某个地方,每当通过一个简单的HTML输入选择一个新文件时,我都会发送这个消息。

代码语言:javascript
复制
[:input {:class "file-input" :type "file"                                 
         :on-change #(re-frame/dispatch                                   
           [::events/file-name-change (-> % .-target .-value)])}]

我得到的是类似于C:\fakepath\file-name.txt的东西,fakepath实际上是它的一部分。

我的事件处理程序目前只拆分名称并保存我上面输入的文件名以显示选定的文件。

代码语言:javascript
复制
(re-frame/reg-event-db                       
  ::file-name-change                       
   (fn [db [_ new-name]]                          
     (assoc db :file-name (last (split new-name #"\\"))))) 

此外,我还想读入该文件,以便稍后在本地处理它。假设我只是更改了我的on-change操作和事件处理程序来做这件事,我该怎么做呢?

我找了一段时间,但几乎一无所获。我不想为每一个新的问题引入新的依赖。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-31 10:32:46

我假设你想在客户端使用HTML5 API来做所有的事情(例如。没有实际上传到服务器)。

来自MDN的这篇指南可能会派上用场:https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications

似乎可以订阅用户选择文件时触发的事件,然后就可以通过File API:https://developer.mozilla.org/en-US/docs/Web/API/File获取该文件的列表,查看文件内容

在本例中,您需要在某个地方保存对事件中的FileList对象的引用,并在以后重用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58628360

复制
相关文章

相似问题

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