【问题标题】:Can AngularJS save/write file to server without any server side technology?AngularJS 可以在没有任何服务器端技术的情况下将文件保存/写入服务器吗?
【发布时间】:2016-08-28 03:15:47
【问题描述】:

我想知道 AngularJS 是否可以在不需要 NodeJS、PHP、Java 或类似的服务器端技术的情况下保存一些文件。只是纯 JavaScript。我见过很多 AngularJS 上传脚本的例子。但是它并没有完全理解AngularJS是否可以做到这一点。在这些示例中,文件似乎作为 blob 上传,然后在上传时自动在浏览器中表示。但是该文件或图像永远不会保存在服务器上,我的意思是在服务器的磁盘上。我想实现这一点。

我已经检查了这个链接: File Upload using AngularJS

AngularJS: how to implement a simple file upload with multipart form?

但似乎或提到了使用blob技术,或者它涉及一些服务器端技术。我希望有上传脚本,我不必担心服务器端处理,所以如果可能的话,上传将全部通过 AngularJS/JavaScript 完成。

那么可以用纯 AngularJS/JavaScript 完成吗? 我会很感激这个例子..真的不知道该怎么做?

【问题讨论】:

    标签: javascript angularjs node.js file-upload angularjs-directive


    【解决方案1】:

    AngularJS 只是客户端代码。它本身对它所服务的服务器没有权力。代码发送到您的浏览器后,它与服务器端环境没有连接或引用。

    所以简短的回答是否定的。

    长答案是您需要在您的服务器上运行一个脚本/程序,它可以处理来自请求的文件输入。该请求可以是简单的多部分上传或双向 Web 套接字连接,但无论如何您需要一个在服务器端处理请求的逻辑。因为 Node.js 服务器是用 JavaScript 编写的,所以您可以编写文件上传的完整 JavaScript 实现,但这不再只是简单的 AngularJS 代码。

    【讨论】:

    • 是的,我知道 NodeJS,如果 AngularJS 可以使用这些 NodeJS 方法来实际写入磁盘,那就太好了
    • 附注但是例如可以将 blob 信息保存到数据库,然后检索并随时转换为图像(如果是图像上传)?似乎这可以解决问题,只是图像不会作为文件上传,而是直接作为 db 中的 blob 上传。
    • 不幸的是,这不会很快发生。这不是 HTTP 和 JavaScript 的工作方式。因此,您唯一的解决方案是编写一个简单的服务器,我建议 Express(因为简单)来处理请求。如果你搜索它,谷歌给你的第一件事就是这个教程:code.ciphertrick.com/2015/12/07/…我会先试试那个。
    • 正如我所说,AngularJS 仅在客户端运行,因此它与服务器/数据库没有连接,或者在没有您实现服务器端代码和通信的情况下没有任何连接。这意味着您可以从 AngularJS 访问的唯一系统是客户端机器,即使出于安全原因,它也是有限的。因此,这样做的唯一方法是用 JavaScript 或任何其他首选语言编写一些服务器端代码。
    猜你喜欢
    • 2018-03-24
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    相关资源
    最近更新 更多