假设您有一个NodeJS服务器和一个ReactJS前端,它们都仅在本地计算机上运行。 ReactJS和NodeJS通过socketio模块进行通信。在React端,您有一个文件选择字段,如下所示。
<div>
Select a file: <input id="fileSelector" type="file" name="myFile"><br><br>
<input type="submit">
</div>
您想要从浏览器中选择一个文件,然后NodeJS将对该文件进行一些操作。但是在给定的代码块中,输入字段仅存储文件名,而不存储文件的绝对路径,因为浏览器无法访问文件系统。因此,我无法告诉NodeJS文件在哪里,以便可以对其进行操作。为了解决这个问题,最好的方法是什么?我不想耍花招,但可以用最合适的方式做。谢谢
答案 0 :(得分:0)
在浏览器中执行此操作的唯一方法是让客户端提交文件。然后,您的节点服务器将执行您打算对上载的文件进行的任何处理,然后您可以为用户提供一个链接,以从您的服务器下载新文件。大多数网站就是这样处理的。
在节点中,您可以使用强大的模块来处理上传到服务器的文件。
另一个选择是构建桌面应用程序。您可以使用electronic在可访问文件系统的节点上构建客户端应用程序,并且仍然可以使用React使用客户端代码。