asp.net-mvc – 存储网站图像的最佳方式
有人可以指导我为我的网站存储图像的最佳方式.我正在创建我的第一个MVC网站,我想我会从一个
Image网站开始,对这些图像进行评论
我使用javascript在图库中显示我的图像,这需要图像的网址.我希望用户上传图片,但我不确定这是将它们存储在服务器上的最佳方式.我将它们保存在服务器上的文件夹中作为纯图像吗? 谢谢 解决方法
我想将所有图像存储在图像文件夹中,然后将图像的路径存储在数据库中,例如,如果我们正在发帖子并且每个帖子都有图像,我们可以将图像上传到/ webroot / images /并保存数据库中的路径/webroot/images/someimage.jpg.
如果网站上有很多图片,最好进一步组织,在一个文件夹中有数千个文件是不好的,特别是如果你要尝试连接ftp的东西,你可以再添加一个带有帖子ID的文件夹(在我提到的例子中)所以它会变成/webroot/images/[id]/image1.jpg. 如果前缀总是相同/ webroot / images你可以在数据库中忽略它以保存一些磁盘空间,前提是应用程序知道images文件夹的位置,也可以忽略第二个例子中的id,视图代码将是像这样 <img src='<?= IMAGES_FOLDER."/".$post->getId()."/".$post->getImageName() ?>' /> 当然,在帖子中添加一个getImage()函数会很好,请查看示例: public function getImage() { return IMAGES_FOLDER."/".$this->getId()."/".$this->getImageName(); } img标签现在更干净了 <img src='<?= $post->getImage() ?>' /> PS:在数据库中存储图像是非常低效的,因为数据库通常是应用程序的瓶颈,存储图像会增加数据库大小,并且每当访问网站上的任何图像时都会有更多的点击,更不用说打开运行php(或您正在使用的任何语言)脚本以提供该图像所需的任何图像,这将增加服务器上的RAM使用率. 此外,由于您提到用户要上传图像,请尝试避免存储与上传图像相同的图像,使事情看起来很傻,尤其是长名称和使用空格和名称的名称,我通常通过执行md5来处理图像名称,或生成随机字符串,以及md5它,保持字符串长度不变,看起来更干净,不要忘记仔细检查图像是否存在,以避免覆盖它. 当然,我建议的所有名称仅用于示例,您可以自由使用适合您应用程序的名称. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 根据网页中的隐藏字段编辑数据库记录有哪些安全
- asp.net-mvc – 如何使用枚举值填充下拉列表?
- asp.net – 如何在回发触发器中添加进度条
- asp.net – Internet Explorer 11在服务器端的检测
- asp.net – PolicyException:无法获取所需的权限 – 此错误
- asp.net – COMException未知错误(0x80005000) – Director
- asp.net – 根据IP地址限制对Elmah的访问
- asp.net-mvc – 为什么HttpPostedFile不像广告和缓冲区下载
- asp.net – 使用jQuery在没有回发的情况下对FILE类型的INPU
- asp.net-mvc – 重新评估ModelState.IsValid属性
- asp.net-mvc – 错误2002:MetadataWorkspace中不
- asp.net – 如何调用一个特定的UpdatePanel加载后
- asp.net – 使用AspNetZero进行单点登录
- Asp.Net Core 1.0和.Net Core 1.0之间的区别?
- .net-core – 用于.NET Core控制台应用程序的ASP
- asp.net-mvc – 在客户端应用程序中配置用户授权
- 如何在ASP.Net Repeater中创建一个三列表
- ASP.NET MVC 3可以在ASP.NET 3.5网站中运行吗?
- asp.net – 在代码中设置PageSize时,DataPager停
- asp.net – OWIN的这些用法是否可行?