• 图片 保存 绝对路径和相对路径的讨论


    数据库中图片保存绝对路径和相对路径的讨论

    一、问题

           1新的项目

           前端代码:采用visual studio code开发,采用以vue.js为基础的框架,最常用组件库  Element-UI。 编辑器采用 tinymce。

           后端代码:采用microsoft visual studio开发, 采用webapi和 mvc两种框架。 图片上传采用mvc。

      2问题:前端 tinymce和 后端图片上传部分出问题。本机测试时编辑器存库内容中图片为绝对路径。但是发布到测试机 编辑器存库内容中图片为相对地址。于是问题来了,同样的代码为什么会出现这种情况。

      3前辈说:图片要保存为绝对地址,不然以后图片独立放到一台服务器后会出现问题。前辈解释了很久,我也没听懂。。

    二、不懂的原因

      1 tinymce上次图片后显示的地址,是后端程序返回给它的。也就是所tinymce上次图片后显示的地址是后台程序返回的,而不是客户计算机图片所在位置的地址。 但是后台代码每次返回的都是绝对路径,为什么到前端就变成相对的了?

           2、tinymce 本机测试和测试机表现有差异,解决方法:初始化时配置 relative_urls: false。

           3 因为MVC时期 前端代码和后端代码是在一起的,但现在前后端代码几乎完全分离。 虽然图片上传目前还是MVC方式实现的但以后可能也会改为webapi实现。 以后图片也可能独立放到一台服务器,那么前后代码、后端代码、图片数据 将会是完全分离的。到时候就会发现相对路径无法访问图片了。  绝对路径可以避免以后出现这些问题。

      4 如果保存图片服务器的ip或端口变了怎么办? 难道去数据库修改所有ip或端口。答:更新相对固定的ip或端口是比较简单的。

      5 任何人都可以访问这些图片,甚至不用登录!! 这个本项目不考虑,以后如果需要可以建个FTP资源管理器专门用来存储图片资源,FTP可以设置哪些用户组可以访问资源 ,这样只有知道这个用户和密码的人才能图片资源服务器。

  • 相关阅读:
    初试django
    初试mysql
    ASP.NET MVC 做的网站项目
    Update 更新语句使用两个表关联
    SQL Server 输出所有表结构
    循环数据集字段赋默认值
    FireBird.conf配置文件常用参数
    Delphi 获取临时数据集 ClientDataSet
    DELPHI 读取csv 格式文本文件
    获取 临时数据集 的两种方法
  • 原文地址:https://www.cnblogs.com/hao-1234-1234/p/9732570.html
Copyright © 2020-2023  润新知