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

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

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

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


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

 

内容介绍

一、前端页面编写

二、配置 Nginx

三、解决跨域问题

四、获取原始文件名

五、预览功能

六、总结

 

一、前端页面编写

1.前端工程已经搭建完毕,el 库和 js 库已经加进工程,最终需要实现的效果就是需求分析中用户进行图片上传,图片上传使用 element-ui 的组件,在百度搜索进入其官网:

element-cn.eleme.io/#/zh-CN/component/upload 后点击组件,找到 upload 上传

image.png

可以看到各式各样的图片上传的效果。选择此组样式作为前端上传图片的最终样式。因为点击上传图片可以预览到图片。

2.如何使用 element-ui 组件呢?需要创建 VUE 的实例。

在创建好基本框架后,引入 vue.min.js 文件后 编写 js 代码

image.png

3.将 el 部分拷贝到 body 下面的 div 中。

<body>

<div  id=’app’>

<el-upload

action="http://localhost:22100/fileSystem/upload"

//上传路径  是后台部分中 controller 中的 fileSystem

list-type="picture-card"  //图片墙样式

:on-preview="handlePictureCardPreview”  //生成预览  点击已上传的文件链接时的钩子,可以通过file.response 拿到服务端返回数据;因为是一种方法所以需要在 method 区域编写。

//:on-remove="handleRemove"> 删除文件暂时不需要实现。

<i class="el-icon-plus"></i>

</el-upload>

<el-dialog :visible.sync="dialogVisible”>

< img width="100%”

:src="dialogImageUrl" alt="">

</el-dialog>

</div>

<script>

var vm=new Vue({ //创建 vue 实例

el:“app”  //定义 vue 实例的对象的范围 div 中的所有 dom 元

素都归 vue 管理

data:{

dialogVisbile:false //对话框是否可用

dialogImageUrl:’‘

} //数据对象区域 数据区与 dom 元素进行双向绑定。

methods:{

handlePictureCardPreview(file){

image.png 

写入这个方法的时候会报错,是因为需要 es6 以上才支持,所以打开 settings,找到 JavaScript,将版本改为 ES6 即可

};} //方法区域  定义方法

//以上三部分是 vue 的固定格式

})

</script>

 

二、配置 Nginx

1.因为前端项目会部署在 Nginx 上面,所以可以在 Nginx 上面配置虚拟目录,将 upload.html 引入其中即可。

进入本机 Nginx 配置文件,配置虚拟目录。

image.png

2.在 server 下面有图片服务测试,端口为7283,将路径改为正确路径。修改路径之后重启 Nginx(本机的 Nginx),重启代码:\Nginx.exe -s reload

image.png

3. 现在通过 Nginx 访问本机7283端口。

localhost:7283/upload.html

由于前方地址缺少所以报错,进行修改添加 fastdfs-ui。再此重启 Nginx

image.png

4.发现 console 报错:dialogVisbile 和 dialogImageUrl 没有定义。

image.png

回到编辑器:

dialogVisbile 这个变量就是双向数据绑定,dialogImageUrl 图片路径,需要再在数据区域进行定义。定义好后回到浏览器刷新即可出现下面的页面

image.png

5.但是在选择图片的时候会报错:提示找不到文件路径。当选择文件的时候就会去请求 action,而 action 路径是绝对路径,本次访问的端口是7283,但是后端写的端口号是22100。

只需要将掐断 action 的地址改为22100端口的绝对路径即可。前端网页请求22100端口的服务器进行上传图片,将路径改为:

action="http://localhost:22100/fileSystem/upload"

回到浏览器刷新,即可成功上传图片。

相关文章
|
存储
HBR(Hybrid Backup and Recovery,混合云备份和恢复)是一种备份解决方案
HBR(Hybrid Backup and Recovery,混合云备份和恢复)是一种备份解决方案【1月更文挑战第8天】【1月更文挑战第38篇】
275 5
|
存储 Prometheus Cloud Native
Thanos 工作原理及组件简介
Thanos 工作原理及组件简介
|
10月前
|
机器学习/深度学习 人工智能 监控
X-R1:3090也能训7B模型!开源框架X-R1把训练成本打下来了:10美元训出企业级LLM
X-R1 是一个基于强化学习的低成本训练框架,能够加速大规模语言模型的后训练开发。仅需4块3090或4090 GPU,1小时内完成训练,成本低于10美元。
739 5
X-R1:3090也能训7B模型!开源框架X-R1把训练成本打下来了:10美元训出企业级LLM
|
开发者
阿里云开发者社区入选 2024 中国技术品牌影响力企业榜
阿里云开发者社区入选 2024 中国技术品牌影响力企业榜。
|
数据采集 缓存 测试技术
性能测试中,除了迭代次数,还有哪些因素会影响测试结果?
性能测试中,除了迭代次数,还有哪些因素会影响测试结果?
385 2
|
计算机视觉 索引
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
本文介绍了解决OpenCV读取视频失败的错误,指出问题通常由视频路径错误或摄像头索引错误导致,并提供了相应的解决方法。
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
|
网络协议 算法 安全
NSEC和NSEC3
【10月更文挑战第18天】
506 1
|
数据采集 Java Python
爬取小说资源的Python实践:从单线程到多线程的效率飞跃
本文介绍了一种使用Python从笔趣阁网站爬取小说内容的方法,并通过引入多线程技术大幅提高了下载效率。文章首先概述了环境准备,包括所需安装的库,然后详细描述了爬虫程序的设计与实现过程,包括发送HTTP请求、解析HTML文档、提取章节链接及多线程下载等步骤。最后,强调了性能优化的重要性,并提醒读者遵守相关法律法规。
403 0
uiu
|
JavaScript 调度
【Svelte】-(5)DOM事件 / 事件修饰符 / 组件事件 / 事件转发 (组件之间的事件沟通)
【Svelte】-(5)DOM事件 / 事件修饰符 / 组件事件 / 事件转发 (组件之间的事件沟通)
uiu
399 0
【Svelte】-(5)DOM事件 / 事件修饰符 / 组件事件 / 事件转发 (组件之间的事件沟通)
|
Web App开发 JSON 移动开发
mPaaS常见问题之加载不到uc 内核如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
363 0