案例开发-前端开发及调试(二)| 学习笔记

简介: 快速学习案例开发-前端开发及调试。

开发者学堂课程【Spring Boot+Vue.js+FastDFS实现分布式图片服务器 :案例开发-前端开发及调试(二)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/742/detail/13148


案例开发-前端开发及调试(二)

三、解决跨域问题

1.前端端口7283要想访问22100端口是需要跨域问题的解决。在前后端分离开发的时候最常用的跨域解决方案是通过代理

可以将前端的地址前面干掉即(http://localhost:22100)

action="/fileSystem/upload"

通过7283的 Nginx 代理转发就可以解决跨域问题

image.png

2.代理转发:配置 fileSystem 转发代理

在 Nginx7283 服务中 凡是以 /fileSystem 开头的 都让其转发到

http://127.0.0.1:22100/filesystem/

这就是通过代理解决跨域问题的方法。

image.png

重启服务器,再刷新浏览器,上传图片,断点进入,鼠标当上 file ,看到文件已经进入。图片上传成功,接下来进行获取其原始文件名、拓展名。

 

四、获取原始文件名

image.png

1.图中步骤:向 upload 目录传入已经上传的文件。将刚上传问文件上传到 web 服务器上的 upload 目录下面。将程序向下走一步,在 upload 下面就可以刚看到刚刚上传的 png 图片,则代表图片上传成功。

image.png

2.接下来向 fastDFS 中上传图片,可以得到文件的 ID,但是可以发现的是,ID 中多了一个点,本身 extention 拓展名自带一个点,自动将点累加到后面。所以需要修改程序。

如果本身文件有拓展名,那么 extention 可以改为 null,他会自动获取其拓展名。

这样获取到的文件 ID 就是正确的。

3.将获取到的图片放到 Nginx 服务中,以背不时之需 。

image.png

4.在将来开发的时候,如果文件上传成功就能获取相应的 ID,就可以将上传文件的路径,和商品信息能够在数据库进行存储绑定。查询商品就可以将文件的 upload 的地址拿到,就可以在页面显示图片。

image.png

image.png

在回到浏览器,跟踪结果的时候,最终返回了 JSON 数据,并且 json 数据中就有上传文件的路径。以上则代表上传图片成功。

查看其原始代码


五、预览功能

image.png

1.点击加号并没有反应,不能预览。打开 el 组件使用说明。当要进行预览的时候,他会通过钩子方法来调用 on-preview

image.png

2.需要完成 on-preview 进行预览。

:on-preview="handlePictureCardPreview”  //预览方法定义

在method中:{handlePictureCardPreview(file) //传入 file 参数

console.log(file)可以在控制台打印一下查看 file 具体内容

this.dialogImageUrl=file.response.filePath;

this.dialogVisbile=true;

}

3.{...}就是 file 对象

最重要把文件的真实路径赋值给 dialogImageUrl(vue 实例中的字段),让 file 下面的 response.filePath 等于dialogImageUrl;并且在预览的时候需要将 dialogVisbile设置为true

image.png

再次刷新运行

image.png

4.不能够成功运行,显示找不到图片,原因是:图片通过 Nginx 访问,需要访问192.168.101.64

将图片服务器的地址添加即可成功预览图片。

this.dialogImageUrl =”http://192.168.101.64/"+file.response.filePath”

image.png 

5.右键检查查看图片地址。发现该地址来源于 fastDFS 分布式文件系统得地址,所以复制地址连接就可以在浏览器直接查看。这就是文件上传,最终上传到 fastDFS 中,并且预览的时候也从 fastDFS 中获取。

到这里就将前端部分实现完成。

 

六、总结

1.做前端开发需要确定使用的 js 和 css 的库,在这里面用到了 vue.js 和  element.ui,将两个库放入工程当中,并且在 html 中引入库,可以在 element 官网打开说明文档,根据提示将 el 代码复制到 div( vue 数据区)中 vue 创建格式三大部分:el、数据区、方法区以及一些钩子方法。

2.上传完成之后,钩子方法:预览。当点击预览的时候会调用方法,这个方法将刚刚上传的文件的数据对象传进来,最终就实现了前端 vue 实现文件上传。

3.首先将文件上传 到 web 服务器,web 服务器将文件上传到 fastDFS 文件系统,当用户预览的是时候通过 Nginx 图片服务代理,浏览转发到 fastDFS 文件系统,最终就完成了整个案例的开发。

4.用户浏览图片,用户打开网站,查看商品,浏览图片,刚刚已经讲过,在上传成功图片之后,fastDFS 文件系统会给我 fileID 文件的路径,需要将文件路径存到商品表的图片字段中。将来查询商品信息的时候,就可以将 fastDFS 文件路径查询到。最终可以实现通过 Nginx 浏览文件。

相关文章
|
2月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
上下文选择器(迭代选择器):基于祖先或同胞元素选择一个元素 ID和类选择器:基于id#和class的属性值进行选择元素。 属性选择器:基于属性的有无和特征进行选择。 ①上下文选择器: 上下文选择器的语法格式:标签1 标签2{属性:值;} //注意:组合选择器和上下文选择器的区别,组合选择器以逗号隔开, 上下文选择器以空格隔开 ②特殊的上下文选择器 子选择器> : 语法格式:标签1>标签2 解释说明:标签1和标签2
262 1
|
4月前
|
JSON 监控 前端开发
AMIS:百度开源的前端低代码神器,18.4k star 背后的开发效率提升利器
AMIS(前端低代码框架)是百度开源的低代码前端框架,基于纯 JSON 配置即可生成完整后台页面,包括表单、表格、图表、CRUD 列表,支持可视化拖拽编辑。,星标数已达 18.4k,百度内部已沉淀超过 5 万个页面,广泛应用于审核系统、数据管理后台、模型监控等落地场景
946 0
|
3月前
|
人工智能 前端开发 JavaScript
前端工程化演进之路:从手工作坊到AI驱动的智能化开发
前端工程化演进之路:从手工作坊到AI驱动的智能化开发
663 18
前端工程化演进之路:从手工作坊到AI驱动的智能化开发
|
9月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
514 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
7月前
|
存储 消息中间件 前端开发
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
校园圈子系统校园论坛小程序采用uni-app前端框架,支持多端运行,结合PHP后端(如ThinkPHP/Laravel),实现用户认证、社交关系管理、动态发布与实时聊天功能。前端通过组件化开发和uni.request与后端交互,后端提供RESTful API处理业务逻辑并存储数据于MySQL。同时引入Redis缓存热点数据,RabbitMQ处理异步任务,优化系统性能。核心功能包括JWT身份验证、好友系统、WebSocket实时聊天及活动管理,确保高效稳定的用户体验。
464 4
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
|
10月前
|
安全 前端开发 开发工具
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
507 5
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
|
10月前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
552 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
10月前
|
JSON 前端开发 数据可视化
前端开发者狂喜!30K star开源组件库,界面美观度/开发速度双碾压!
嗨,大家好,我是小华同学。Layui 是一款开源前端 UI 组件库,具有极简设计、强大功能和卓越性能,支持布局、表单、表格、弹层等六大模块,组件高度可定制。它无需复杂构建工具,直接面向浏览器开发,极大提升开发效率与界面美观度。适合新手和老手,快来试试吧!
508 0
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
1068 14
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
359 0

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    586
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    238
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    226
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    164
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    275
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    408
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    177
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    112
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    192
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    262