我在我的应用程序中使用CSV文件导出产品。我有一个图像字段,我提供每个产品的图像位置,可以是本地机器上的链接或路径。
我可以从用户用来访问网站的计算机上传图像吗?当我在服务器内使用链接或位置时,我可以成功地完成它。
答案 0 :(得分:2)
不。从安全角度考虑是否能够这样做。您访问的任何网站都可以从您的文件系统中读取任何想要的内容!谢天谢地,这是不可能的。
对于CarrierWave,PaperClip等用户可以将文件上传到服务器的情况:用户自己在浏览器中自行选择文件,当请求发送到服务器时,特定文件已经明确从用户中选择,作为请求本身的一部分上载。因此,文件被发送到服务器 - 服务器永远不会从用户的文件系统本身读取。
区别在于:
这没关系:“嘿,服务器,这是我选择的文件,我将它传递给你,以便你可以处理它”
这不行:“嘿,用户,我知道你刚给我发了一个请求。我要自己去看看你想要的文件系统!”