我想在本地主机上运行时将文件上传到提供 Angular 应用程序的文件夹中。如果不使用后端,我无法找到任何解决方案。
例如,我只想上传一个图像文件,该文件应该复制到项目的指定文件夹中。这应该只使用 Angular 完成,而不使用任何后端脚本或访问任何 API 端点。
我想在本地主机上运行时将文件上传到提供 Angular 应用程序的文件夹中。如果不使用后端,我无法找到任何解决方案。
例如,我只想上传一个图像文件,该文件应该复制到项目的指定文件夹中。这应该只使用 Angular 完成,而不使用任何后端脚本或访问任何 API 端点。
根据您的虚拟主机,您可以通过 FTP 访问您的资产文件夹。从 javascript(角度是 javascript)进行 FTP 调用并不难。互联网上有很多关于它的例子和问题(像这样)
为什么你不这样做:
编辑:
当我再次阅读您的问题和所有子答案时,我(认为)发现您正在构建一个没有后端的类本机应用程序,只是一个有角度的单页前端应用程序。我可以理解为什么(您可以在支持 javascript 的应用程序中的每个平台上运行它),但您遇到的问题只是整个系列中的第一个。
如果是这种情况,我不会调用它uploading
,因为您会将其存储在本地。
但好消息是您可以在客户端的 HDD 上localstorage
存储临时数据。这不是一个很大的空间,但它是......
assets 文件夹是 Angular 应用程序的静态服务文件夹之一。它位于服务器上,因此您无法在不访问服务器(HTTP 服务器、API 或其他任何东西......)的情况下向其中添加文件。
即使在 localhost 上运行您的应用程序,引擎盖下也有一个 Web 服务器,因此它的行为与已部署的应用程序完全相同,并且您无法通过 Angular 应用程序将文件添加到资产文件夹。
我不知道您到底想对上传的文件做什么,但是:
根据您在其中一条评论中的澄清:
我正在尝试开发一个小型速度测试应用程序,用户可以在其中从他的系统上传任何文件以检查上传和下载速度。
避免拥有自己的后端的唯一方法是使用 3rd 方 API。
有一些专门的速度测试网站,也提供 API 访问。例如:
请注意,其中许多 API 是付费服务。
另外,我已经能够找到这个库 https://github.com/ddsol/speedtest.net,这可能表明 speedtest.net 有某种免费的 API 层。但这取决于您进行调查。
这个问题也可能有帮助,因为它显示了在 React Native 中使用 speedtest.net:Using speedtest.net api with React Native
您可以使用第三方库,例如ng-speed-test。例如,这里有一个 Angular 库,它有一个托管在第三方服务器(即 GitHub)上的图像来测试互联网速度。