淘淘商城学习笔记 之 上传图片到远程服务器,图片的回显出现的bug
由于非科班自学转行,看了好多视频,最近在学习黑马的淘淘商城,感觉受益良多,遇到一个比较奇怪的bug调了好久,遂心乐之分享于诸君
bug情况是这样的:在商城的后台上传图片之后图片回显不出来,右键查看链接,发现链接被加了localhost://8080
原来正常的链接是这样的:
ftp://ftpuser@192.168.25.133/home/ftpuser/www/images/2017/08/11/1502405214622039.png
或缩写去掉写为(我复制的链接用的这个):
192.168.25.133/home/ftpuser/www/images/2017/08/11/1502405214622039.png
错误的链接为:
http://localhost:8080/192.168.25.133/home/ftpuser/www/images/2017/08/11/1502405214622039.png
聪明的你可能此时就已经想通了问题出在哪里了吧!先别笑,这个问题我百度了好久都没找到答案!
错误演示:




此时使用filezilla查看发现图片已经上传到ftp服务器里了,很奇怪为什么图片没有回显呢?右键那张奇怪的图片,复制链接用空白页打开显示404,
注意到链接中多加了localhost:8080/ ,去掉这个多余的也能访问,这是为啥呢?
其实原因很简单:
这个生成的链接是图片上传到服务器后返回的图片url(这不是废话),因为之前要登录ftp服务器,所以在配置文件中没有写http://作为url,而且一般使用hostIp的地方都是不能写http://的,写了会报错的,所以 就没有写,但是我需要返回一个json数据,url也就直接写在里边了,也没多注意,数据格式如下:
{"error":0,"url":"192.168.25.133/images/2017/08/11/1502431975821476.png"}
由于现在的浏览器功能越来越强大了,不写http://也能访问,所以让我纠结了一天,返回json之前定义一个字符串加上http://,问题就解决了。
正确的json返回url:
{"error":0,"url":"http://192.168.25.133/images/2017/08/11/1502431975821476.png"}
==================分割线================
好多同学知道是这个问题了,但是找起来还是找不到,提示一下,在拼接图片url的controller中,只需要找到那个图片的url,然后前边加上“http://”+
豆芽菜长房高,他也是个菜。 ------------马士兵马老师
淘淘商城学习笔记 之 上传图片到远程服务器,图片的回显出现的bug的更多相关文章
- opencv学习笔记(六)直方图比较图片相似度
opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...
- SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传
SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传 配置CKEDITOR 精简文件 解压之后可以看到ckeditor/lang下面有很多语言的js,如果不需要那么多种语言的,可 ...
- 多线程编程学习笔记——编写一个异步的HTTP服务器和客户端
接上文 多线程编程学习笔记——使用异步IO 二. 编写一个异步的HTTP服务器和客户端 本节展示了如何编写一个简单的异步HTTP服务器. 1.程序代码如下. using System; using ...
- JavaScript学习笔记——简单无缝循环滚动展示图片的实现
今天做了一个简单的无缝循环滚动的实例,这种实例在网页中其实还挺常见的,下面分享一下我的学习收获. 首先,无缝滚动的第一个重点就是——动.关于怎么让页面的元素节点动起来,这就得学明白关于JavaScri ...
- Nodejs学习笔记(3) 创建服务器:Web 模块(http)与 express 框架
目录 参考资料 1. 使用 http 模块创建服务器 1.1 实现思路及代码 1.2 HTTP 结构 1.2.1 Request中的重要字段 1.2.2 Response 头信息:文件类型.状态码.连 ...
- Linux 笔记 #03# 在 Debian远程服务器上运行 Java socket程序
我试图做什么:把我的破代码放到服务器上运行,并成功与客户端进行 socket通信. 预备环境:刚安装好 MySQL 和 JVM 的 Linux远程服务器(Debian 8)一台. 主要有如下几个步骤: ...
- Linux学习笔记(4)-远程登录
根据网上的那些说法,如Linux服务器假设在外地(新疆),和程序员工作的环境(北京)相距太远,那么每次出问题都要出差跑到现场去调试的话,那就太烦人了. 所以,人们开发出了一种远程登录的手段,可以让程序 ...
- python网络编程学习笔记(三):socket网络服务器(转载)
1.TCP连接的建立方法 客户端在建立一个TCP连接时一般需要两步,而服务器的这个过程需要四步,具体见下面的比较. 步骤 TCP客户端 TCP服务器 第一步 建立socket对象 建立socket对 ...
- Android 学习笔记之WebService实现远程调用+内部原理分析...
PS:终于可以抽出时间写写博客了,忙着学校的三周破实训外加替考...三周了,没怎么学习...哎... 学习内容: 1.WebService 实现远程方法的调用 什么是WebService... ...
随机推荐
- Python3 实现数据读写分离设计
前言 首先读写分离可以保证数据库的稳定,简单的说就是当网站访问量大时,读写都在一个库,很有可能会出现脏数据的情况,如果采取阻塞似操作,那么用户体验就会变得更差. 而且目前大多数网站的读写是失衡的,以淘 ...
- Java中堆与栈
简单的说:Java把内存划分成两种:一种是栈内存,一种是堆内存. 1:什么是堆内存: 堆内存是是Java内存中的一种,它的作用是用于存储Java中的对象和数组,当我们new一个对象或者创建一个数组的时 ...
- Vuex 源码学习(二)
Vue加载后,将Vuex 加载到 Vue对象上后,初始化Store. (一) Store的参数的定义 其中 action 与 mutation 的订阅者 用 数组存储,而其属性都是用对象存储的. 考虑 ...
- 只要发生ajax请求时加载旋转的按钮
定义一个变量 全局 c 只要发生ajax时给c++ 当ajax请求success或者error时,c--; 对加载的按钮添加个事件 监听 c 如果c得值没变化 则隐藏按钮 如果变化了则显示 ...
- 关于Bitcoin的分叉之路
今年对与bitcoin来讲是不平凡的一年,它经历了价格的暴涨.腰斩和再次暴涨,对于这些现象背后的利益博弈网上分析的文章很多,我就不再赘述了.我们从技术的角度上分析一下bitcoin的发展历程,同时预测 ...
- CI_SMOKE配置手册
1.1. SVN安装 安装TortoiseSVN,并检出AutoScript目录至本地 1.2. Java环境安装 确认测试环境安装了JDK,在cmd下键入java -version 检查JDK是 ...
- Oracle误删数据文件后出现oracle initialization or shutdown in progress解决
一.错误分析 1.首先本人在出现这种情况的背景是执行如下SQL语句后生成的表空间 --自定义表空间 数据表空间 临时表空间 CREATE TEMPORARY TABLESPACE HOUSE_TEMP ...
- 【转载】ipcs与Linux共享内存
一.共享内存相关知识 所谓共享内存,就是多个进程间共同地使用同一段物理内存空间,它是通过将同一段物理内存映射到不同进程的 虚拟空间来实现的.由于映射到不同进程的虚拟空间中,不同进程可以直接使用,不需要 ...
- Android开发之漫漫长途 XI——从I到X的小结
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- Java_web学习(二) eclipse(tomcat)配置
1.先下载eclipse,隔代版本最佳 https://www.eclipse.org/ 2.创建workspace01存放项目代码 3.配置工作目录: IDE相关配置信息 2 没有配置tomcat, ...