对于允许简单图像上传的Web应用程序,我应该如何存储图像?对文件系统与CDN感到困惑

带围巾

每个搜索结果都说明了有关将图像存储在文件系统中但将路径存储在数据库中的信息,但是我不确定“文件系统”到底是什么意思。那是否意味着您有类似以下内容:

/public (assets)
    /js
    /css
    /img
/app (frontend)
/server (backend)

并且您将直接上传到该/ public / img目录?

我记得过去曾经使用Heroku上托管的Node.js应用程序尝试过类似的操作,但它并没有阻止我。我必须设置Amazon S3并在那里上传图像,这引起了我的困惑。

是使用Amazon S3这样的常规方法还是人们是否直接将其上传到/ img目录(假设这是“文件系统”?),碰巧是Heroku不允许这样做,但其他主机可以这样做吗?

比姆萨比

我将模式描述为“将数据存储在Blob存储服务中,将指针存储在数据库中”。上传的文件是“ blob”-一旦它离开了用户的计算机和文件系统,它真的是文件了吗?:)在服务器上,文件系统可以存储该“ blob”。S3可以存储该Blob。在第一种情况下,您要存储路径。在第二种情况下,您将存储S3对象的URL。数据库甚至可以存储该Blob(尽管不建议这样做,但是...)

无论如何,要问的问题是:“当我需要两个应用服务器来支持流量时会发生什么?”。无论该Blob到哪里,两个应用服务器都需要对其进行访问。

在您控制的数据中心中,有多种方法可在服务器之间共享文件系统-网络附加存储(NFS或SMB安装的卷)或存储区域网络(iSCSI,光纤通道)。由于基于云的基础架构/平台即服务提供商中的网络/硬件配置选项更加有限,事实上的标准是S3,因为它便宜,可靠,易于使用,并且可以从服务器上完全卸载文件服务。

但是,对于Heroku,您对文件系统没有太多控制权。并且,知道您的每个dyno的文件系统都是“短暂的”-dyno重新启动后它就会消失。当您的应用空闲或每24小时(以较早者为准)时,就会发生这种情况。这样就迫使选择了一点。

最后一点-S3附带了一些辅助好处,即减轻了为服务器提供Blob的负担。您也可以将文件从浏览器直接存储到S3,而无需通过应用程序进行路由(请参阅https://devcenter.heroku.com/articles/s3-upload-node)。两种情况下的好处是,这些下载/上载会占用应用程序宝贵的时间,以用于处理死记硬背的内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我应该如何存储我的android应用程序的图像?

来自分类Dev

对简单的Asyntask应用程序感到困惑

来自分类Dev

在Azure Web应用程序上存储图像。文件系统限制和性能?

来自分类Dev

我的基于照片的应用程序应该存储两个不同大小版本的上传图像吗?

来自分类Dev

将上传的文件存储在Web应用程序的文件系统中时如何处理问题?

来自分类Dev

我应该将上传的图像放在Java应用程序的服务器上的什么位置?

来自分类Dev

我应该将图像存储在我的网络应用程序中的什么位置?

来自分类Dev

对于如何进行React应用程序设计感到困惑

来自分类Dev

将许多图像存储在Android apk文件中对于社交应用程序是可行的

来自分类Dev

带有 mysql 和存储上传图像的 Kubernetes php web 应用程序

来自分类Dev

我对WAS(Web应用程序服务器)和Web框架的含义感到困惑

来自分类Dev

从Cordova应用程序将图像上传到Firebase存储

来自分类Dev

将图像从文件系统下载到kivy应用程序

来自分类Dev

我应该在哪里将上传的图像放在Java应用程序的服务器上?

来自分类Dev

如何直接从iPad应用程序使用AFNetworking上传图像

来自分类Dev

在Laravel应用程序中将图像或文件存储到文件夹的更好方法应该是什么

来自分类Dev

iOS到php服务器的文件上传-我应该允许什么文件大小的图像?

来自分类Dev

允许其他应用程序从我的应用程序(例如图库)中选择图像

来自分类Dev

Silverlight应用程序中的图像上传

来自分类Dev

在Web应用程序中的何处以及如何存储和检索图像?

来自分类Dev

如何在我的应用程序上显示存储在移动设备中的图像?

来自分类Dev

QML:如何指定相对于应用程序文件夹的图像文件路径

来自分类Dev

如何在应用程序设置中存储图像路径?

来自分类Dev

如何在Spring 3 MVC应用程序中对文件上传实施病毒扫描

来自分类Dev

如何在Spring 3 MVC应用程序中对文件上传实施病毒扫描

来自分类Dev

如何将图像从我的Android应用程序上传到Google驱动器上的特定文件夹

来自分类Dev

如何在此Codeigniter 3应用程序中将与图像上传相关的验证错误存储为闪光信息?

来自分类Dev

如何使用C#在Windows 8应用程序中通过移动服务上传图像以及如何从存储中下载下载图像

来自分类Dev

我应该在Phoenix / Elixir中将用户上传的文件和图像存储在哪里?

Related 相关文章

  1. 1

    我应该如何存储我的android应用程序的图像?

  2. 2

    对简单的Asyntask应用程序感到困惑

  3. 3

    在Azure Web应用程序上存储图像。文件系统限制和性能?

  4. 4

    我的基于照片的应用程序应该存储两个不同大小版本的上传图像吗?

  5. 5

    将上传的文件存储在Web应用程序的文件系统中时如何处理问题?

  6. 6

    我应该将上传的图像放在Java应用程序的服务器上的什么位置?

  7. 7

    我应该将图像存储在我的网络应用程序中的什么位置?

  8. 8

    对于如何进行React应用程序设计感到困惑

  9. 9

    将许多图像存储在Android apk文件中对于社交应用程序是可行的

  10. 10

    带有 mysql 和存储上传图像的 Kubernetes php web 应用程序

  11. 11

    我对WAS(Web应用程序服务器)和Web框架的含义感到困惑

  12. 12

    从Cordova应用程序将图像上传到Firebase存储

  13. 13

    将图像从文件系统下载到kivy应用程序

  14. 14

    我应该在哪里将上传的图像放在Java应用程序的服务器上?

  15. 15

    如何直接从iPad应用程序使用AFNetworking上传图像

  16. 16

    在Laravel应用程序中将图像或文件存储到文件夹的更好方法应该是什么

  17. 17

    iOS到php服务器的文件上传-我应该允许什么文件大小的图像?

  18. 18

    允许其他应用程序从我的应用程序(例如图库)中选择图像

  19. 19

    Silverlight应用程序中的图像上传

  20. 20

    在Web应用程序中的何处以及如何存储和检索图像?

  21. 21

    如何在我的应用程序上显示存储在移动设备中的图像?

  22. 22

    QML:如何指定相对于应用程序文件夹的图像文件路径

  23. 23

    如何在应用程序设置中存储图像路径?

  24. 24

    如何在Spring 3 MVC应用程序中对文件上传实施病毒扫描

  25. 25

    如何在Spring 3 MVC应用程序中对文件上传实施病毒扫描

  26. 26

    如何将图像从我的Android应用程序上传到Google驱动器上的特定文件夹

  27. 27

    如何在此Codeigniter 3应用程序中将与图像上传相关的验证错误存储为闪光信息?

  28. 28

    如何使用C#在Windows 8应用程序中通过移动服务上传图像以及如何从存储中下载下载图像

  29. 29

    我应该在Phoenix / Elixir中将用户上传的文件和图像存储在哪里?

热门标签

归档