找做金融的网站电商网站设计流程

news/2025/9/24 20:11:40/文章来源:
找做金融的网站,电商网站设计流程,公司网站重新建站通知,聚来宝网站建设1. 文件上传到本地 需求分析 在用户更换头像或发布文章时#xff0c;需要携带一个图片的 url 地址#xff0c;该 url 地址是当用户访问文件上传接口#xff0c;将图片上传成功后#xff0c;服务器返回的地址。所以#xff0c;后台需要提供一个文件上传接口#xff0c;用…1. 文件上传到本地 需求分析 在用户更换头像或发布文章时需要携带一个图片的 url 地址该 url 地址是当用户访问文件上传接口将图片上传成功后服务器返回的地址。所以后台需要提供一个文件上传接口用来接收前端提交的文件数据并且返回文件的访问地址。 接口文档 文件上传知识回忆 前端页面文件上传三要素 请求方式必须是 post表单的编码类型必须是 multipart/form-data文件表单项对应的类型必须是 file。 这三个要素满足后用户就可以选择要上传的文件点击提交按钮最终把文件内容提交给服务器。当服务器接收到该请求后如果服务器中的代码是使用 SpringMVC 框架编写的我们就可以在方法上声明一个 MultipartFile 类型的参数用来接收上传的文件内容。MultipartFile 提供了很多方法 接口实现思路 Controller 中声明用于上传文件的 upload()方法方法内部需要借助 MultipartFile 提供的 api把文件内容写入本地磁盘文件因此方法上要声明一个 MultipartFile 类型的参数。 现在还没有把文件内容上传到阿里云服务器我们先把文件存储到服务器本地保证接口访问是正常的接口没问题后再把文件上传到服务器测试。 RestController public class FileUploadController {PostMapping(/upload)public ResultString upload(MultipartFile file) throws IOException {//把文件内容存储到本地磁盘//获取文件原始的名称String originalFilename file.getOriginalFilename();//file.transferTo的异常直接抛出去//再次存储的时候使用原来的文件名file.transferTo(new File(C:\\Users\\xxx\\Desktop\\files\\originalFilename));return Result.success(url访问地址...);} }postman 测试 点击 select file 选择要上传的文件 打开文件 上传成功 但是现在的代码中还存在bug。当我们在 postman 中针对刚刚选择的图片再次点击 send 时files 文件夹中并没有出现两张图片。原因是后上传的图片与之前上传的图片重名导致之前的图片被覆盖了。在现实中很有可能出现需要上传两张同名图片的需求比如两个用户上传的图片同名。因此这个问题需要解决一下。 解决方式就是保证上传时的文件名唯一在文件后缀名前面拼接UUID 再次上传 现在只是通过将文件上传到本地的方式模拟了将文件上传到服务器的过程。下面来介绍将文件上传到服务器的实现方式。 2. 文件上传到云服务器 云服务器会提供很多服务当计算机连接上云服务器并开通某个服务后后就可以使用该服务了。 在本节我们使用阿里云的对象存储服务。 使用云对象存储 OSSObject Storage Service可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种文件。 使用第三方服务的通用思路 准备工作在服务提供商网站上注册用户开通对应服务参照官方 SDK 编写入门程序引入阿里云 OSS 相关的 jar 包并参照提供的示例代码编写程序参照入门程序将功能集成到自己的代码中使用 SDKSoftware Development Kit 的缩写软件开发工具包包括辅助软件开发的依赖jar包、代码示例等都可以叫做SDK。 2.1 准备工作 在服务提供商网站上注册用户开通对应服务 ① 登录之后点击控制台 ② 查看阿里云提供的所有服务 ③ 搜索对象存储 OSS ④ 首次使用 OSS 需要开通 ⑤ 按照提示开通后开始创建 bucket ⑥ 填写必要信息创建 bucket ⑦ 创建成功后进入 bucket ⑧ 概览中展示了 bucket 基本信息和访问地址 ⑨ 获取 AccessKey 根据提示一步一步操作就能获取到 AccessKey。至此准备工作完成。 2.2 参照官方 SDK 编写入门程序 导入阿里云 OSS 相关的依赖坐标并参照提供的示例代码编写程序。 (1) 导入 OSS 相关依赖坐标 ① 左侧点击概览 ② 滑动到底部点击 SDK 下载 ③ 找到 Java 版本点击查看文档会弹出帮助文档。点击“文档中心打开” ④ 点击”安装“ ⑤ 将所需依赖坐标导入我们的 pom.xml 文件 (2) 参照提供的示例代码编写程序 ① 因为是要上传文件所以点击对象/文件➡上传文件➡简单上传 ② 此处给出了一个示例代码copy 一下 copy 的示例代码如下 public class Demo {public static void main(String[] args) throws Exception {// Endpoint以华东1杭州为例其它Region请按实际情况填写。String endpoint https://oss-cn-hangzhou.aliyuncs.com;// 从环境变量中获取访问凭证。运行本代码示例之前请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。EnvironmentVariableCredentialsProvider credentialsProvider CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();// 填写Bucket名称例如examplebucket。String bucketName examplebucket;// 填写Object完整路径完整路径中不能包含Bucket名称例如exampledir/exampleobject.txt。String objectName exampledir/exampleobject.txt;// 创建OSSClient实例。OSS ossClient new OSSClientBuilder().build(endpoint, credentialsProvider);try {// 填写字符串。String content Hello OSS你好世界;// 创建PutObjectRequest对象。PutObjectRequest putObjectRequest new PutObjectRequest(bucketName, objectName, new ByteArrayInputStream(content.getBytes()));// 如果需要上传时设置存储类型和访问权限请参考以下示例代码。// ObjectMetadata metadata new ObjectMetadata();// metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard.toString());// metadata.setObjectAcl(CannedAccessControlList.Private);// putObjectRequest.setMetadata(metadata);// 上传字符串。PutObjectResult result ossClient.putObject(putObjectRequest); } catch (OSSException oe) {System.out.println(Caught an OSSException, which means your request made it to OSS, but was rejected with an error response for some reason.);System.out.println(Error Message: oe.getErrorMessage());System.out.println(Error Code: oe.getErrorCode());System.out.println(Request ID: oe.getRequestId());System.out.println(Host ID: oe.getHostId());} catch (ClientException ce) {System.out.println(Caught an ClientException, which means the client encountered a serious internal problem while trying to communicate with OSS, such as not being able to access the network.);System.out.println(Error Message: ce.getMessage());} finally {if (ossClient ! null) {ossClient.shutdown();}}} } ③ 修改示例代码 public class Demo {Testpublic void test() throws Exception {// Endpointbucket概览中的访问端口-外网访问的地域节点String endpoint https://oss-cn-beijing.aliyuncs.com;// 阿里云为了防止AccessKeyId和AccessKeySecret泄露建议以配置环境变量的方式来使用// 这里是测试代码就不再配置环境变量了直接定义两个变量来模拟值都改成自己的String ACCESS_KEY_ID**********;String ACCESS_KEY_SECRET**********;// Bucket名称String bucketName big-event-bucket1;// 要存储的对象的名称这里的对象可以是字符串、图片、视频等String objectName cat.jpg;// 创建OSSClient实例OSS ossClient new OSSClientBuilder().build(endpoint, ACCESS_KEY_ID, ACCESS_KEY_SECRET);try {// 借助图片输入流对象构建出PutObjectRequest对象PutObjectRequest putObjectRequest new PutObjectRequest(bucketName, objectName, new FileInputStream(C:\\Users\\xxx\\Desktop\\cat.jpg));// 上传到服务器PutObjectResult result ossClient.putObject(putObjectRequest);} catch (OSSException oe) {System.out.println(Caught an OSSException, which means your request made it to OSS, but was rejected with an error response for some reason.);System.out.println(Error Message: oe.getErrorMessage());System.out.println(Error Code: oe.getErrorCode());System.out.println(Request ID: oe.getRequestId());System.out.println(Host ID: oe.getHostId());} catch (ClientException ce) {System.out.println(Caught an ClientException, which means the client encountered a serious internal problem while trying to communicate with OSS, such as not being able to access the network.);System.out.println(Error Message: ce.getMessage());} finally {if (ossClient ! null) {ossClient.shutdown();}}} }(3) 运行代码 上传成功 点击图片名称弹出图片具体信息。复制图片在服务器上的 url。 在浏览器中输入图片在服务器上的 url搜索。此时已从服务器上下载了图片。 虽然上面相对于阿里云提供的示例代码该类很多但只要完成这个 Demo 的改造今后在一般情况下需要改的地方就只有下面两处要存储的对象的名称、输入流中要存储的对象在本地的位置。 2.3 案例集成 OSS 参照入门程序将功能集成到自己的代码中使用。 为了使用方便需要把上面改造成功的代码封装成一个工具类。将来哪里需要使用直接调用工具类的方法即可。 public class AliOssUtil {//这四个一般不变所以抽取到成员处声明为静态常量public static final String ENDPOINT https://oss-cn-beijing.aliyuncs.com;//区域节点public static final String ACCESS_KEY_IDLTAI5t9NJbszDF431vYUkzbh;public static final String ACCESS_KEY_SECRETd82arCTGqH3Turz4HY3NA4a9RufHn0;public static final String BUCKET_NAME big-event-bucket1;// Bucket名称// objectName: 要存储的对象的名称这里的对象可以是字符串、图片、视频等// 方法内部可能发生变化的是objectName和输入流因此以参数的方式暴露出去// 方法要返回图片在服务器上的访问地址因此返回值是String类型public static String upLoadFile(String objectName, InputStream inputStream) throws Exception {// 创建OSSClient实例OSS ossClient new OSSClientBuilder().build(ENDPOINT, ACCESS_KEY_ID, ACCESS_KEY_SECRET);String url ; //为了返回url先声明一个空字符串try {PutObjectRequest putObjectRequest new PutObjectRequest(BUCKET_NAME, objectName, inputStream);PutObjectResult result ossClient.putObject(putObjectRequest);//上传到服务器//如果下面的代码不报错就该给url赋值了//url组成https://bucket名称.区域节点(去掉https://)/objectName//ENDPOINT.lastIndexOf(/)1: 在ENDPOINT中从最后一个/的下一个位置开始截取字符串urlhttps://BUCKET_NAME.ENDPOINT.substring(ENDPOINT.lastIndexOf(/)1)/objectName;} catch (OSSException oe) {System.out.println(Caught an OSSException, which means your request made it to OSS, but was rejected with an error response for some reason.);System.out.println(Error Message: oe.getErrorMessage());System.out.println(Error Code: oe.getErrorCode());System.out.println(Request ID: oe.getRequestId());System.out.println(Host ID: oe.getHostId());} catch (ClientException ce) {System.out.println(Caught an ClientException, which means the client encountered a serious internal problem while trying to communicate with OSS, such as not being able to access the network.);System.out.println(Error Message: ce.getMessage());} finally {if (ossClient ! null) {ossClient.shutdown();}}return url;} }现在工具类准备好了以后需要将文件上传阿里云只需调用 upLoadFile() 方法即可。 在 FileUploadController 中之前我们将文件存储到了本地磁盘现在不需要了直接调用 upLoadFile() 方法将文件上传服务器。upLoadFile() 方法需要传递两个参数filename 可以作为传入的第一个参数 objectName第二个参数是文件输入流MultipartFile 提供的 getInputStream() 方法可以提供该参数。最后将 upLoadFile() 方法返回的 url 响应给浏览器。 RestController public class FileUploadController {PostMapping(/upload)public ResultString upload(MultipartFile file) throws Exception {//把文件内容上传到阿里云服务器//获取原始文件名String originalFilename file.getOriginalFilename();//使用UUID生成文件名保证文件名唯一从而防止文件被覆盖//originalFilename.lastIndexOf(.): 从文件名的最后一个.处开始截取字符串(包括.)即获取原始文件后缀名String filename UUID.randomUUID().toString()originalFilename.substring(originalFilename.lastIndexOf(.));// file.transferTo(new File(C:\\Users\\xxx\\Desktop\\files\\filename));//upLoadFile()方法上的异常直接抛出去即可String url AliOssUtil.upLoadFile(filename, file.getInputStream());return Result.success(url);} }postman 测试 在浏览器中输入文件访问地址可以下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/916186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

侯马建设规划局网站学校网站建设团队

problem statement 这道题给我们一个不超过15位的整数 让我们在其中加等号或者加号 如果加完符号后符合计算结果 那么计数 最后输出所有的情况 problem analysis 这道题其实就是想办法遍历所有情况 把合法的记录下来 最终输出就得到解 如何枚举呢 我们可以枚举等号的位置…

分库分表后如何高效处理分页

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Playwright MCP 服务器对比高层级的 MCP 服务器解决方案 - 详解

Playwright MCP 服务器对比高层级的 MCP 服务器解决方案 - 详解2025-09-24 20:07 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !impo…

详细介绍:【Selenium】UI自动化测试框架设计:从项目结构到Base-Page层的最佳实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

P13754 【MX-X17-T3】Distraction

原题链接:P13754 【MX-X17-T3】Distraction - 洛谷 非常好的题,非常好的思想。简单思想的结合体就是不易察觉的难题。这题实际上就两个难点:1. 处理每个点的权值 \(v_i\)。2. 推导交换权值并找出最长字段和 首先对于…

台州自助建站系统热门国际新闻

从Manus到OpenManus:AI智能体技术如何重塑未来生活场景? 一、现状:AI智能体技术面临的三大核心矛盾 (通过分析用户高频痛点与市场反馈提炼) 能力与门槛的失衡 Manus展示的复杂任务处理能力(如股票分析、代…

2025.9.24

今天上早八离散数学,认真听课发现真听懂了,然后是马克思主义基本原理,老师话很亲切,中午吃饭没休息,又出发修改表格格式了,弄了3个小时,外卖被偷了,我又点了一份,然后洗澡,没带洗发水用香皂洗头,效果不好,…

初学汇编

寄存器 存储数据速度:cpu > 内存 > 硬盘通用寄存器 寄存器是在cpu中的8位 16位 32位EAX AX ALEBX BX BLECX CX CLEDX DX DLESP SP AHEBP BP CHESI SI DHEDI DI BH内存地址的五种形式 1.立即数:如0x13FFC4 2.[r…

架构图设计还得是华为 - 智慧园区

在数字化时代,架构图就像建筑工程的设计蓝图,是技术系统从抽象想法落地为实际产品的关键桥梁。无论是手机芯片的内部逻辑布局,还是全球通信网络的节点连接,清晰、科学的架构图都能让复杂的技术体系变得“可视化”,…

解决zsh: corrupt history file /home/sgud4h5gh/.zsh_history的办法

问题 在一次重装Ubuntu随后进行了一些修改的情况下,输入命令会出现报错zsh: corrupt history file /home/sgud4h5gh/.zsh_history 并且好像不能执行,实际上是因为文件.zsh_history出现损坏或者乱码的情况。 首先要知…

StarRocks GitHub 工作流程

StarRocks项目遵循GitHub工作流规范,其中包含若干实用建议(例如保持本地环境与上游仓库同步并及时提交)。本文档详细说明在GitHub平台完成StarRocks开发的完整工作流程。 第一步:云端分叉项目访问:https://github…

【Selenium】消除Selenium报错:ChromeDriver与Chrome浏览器版本不匹配

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

伍佰亿搜索引擎网站系统企业科技网站建设

如何在apache Arrow定位与解决问题 最近在执行sql时做了一些batch变更,出现了一个 crash问题,底层使用了apache arrow来实现。本节将会从0开始讲解如何调试STL源码crash问题,在这篇文章中以实际工作中resize导致crash为例,引出如何…

2013网站建设方案沃尔玛商城

本人使用谷歌搜索了简中互联网,完全没有找到任何有关 ANAME 的文章……本文该不会是头一份吧 相信大家对于 DNS 的解析方式都不陌生,常见的有 A、CNAME、MX、TXT 记录等等。其中,网站常用的是 A 记录和 CNAME 记录:A 记录用于将域…

对象初始化器的使用方法

1. 什么是对象初始化器? 对象初始化器就是一种在创建对象的同时,直接给属性赋值的写法。不用先 new 一个对象,再一行一行地赋值。 它的作用是用来给对象初始化的 一定存在:必然要执行构造方法 2. 构造方法与对象初…

C++、Java 和 Python 在输入输出差别

C++、Java 和 Python 在输入输出(I/O)格式上有显著差异,主要体现在语法风格、处理方式和灵活性上。以下从标准输入输出、文件操作两个维度对比三者的差异,并结合示例说明核心特点。 一、标准输入输出(控制台 I/O)…

我的学习记录之自我介绍、思维导图和监督措施

一、关于我: 目前就读于中南林业科技大学涉外学院数据科学与大数据技术专业大三,介绍一下自己,在我之前的学习生活中我一般是班级里小透明的存在,成绩一直处于中等偏上,但是又不调皮捣蛋,所以老师一般不会有特别…

用 Java 和 Tesseract 进行验证码识别:基础实现与优化

验证码(CAPTCHA)是防止自动化攻击的常见手段。然而,在某些场景下,如自动化测试或者爬虫平台,可能需要识别和处理验证码图像。本文将指导你如何使用 Java 和 Tesseract OCR(光学字符识别)库来实现验证码识别,并…

新网站应该怎么做料神wordpress建站教程

A12435 思路:只有4中情况:A1,A2翻转,其他正常,A2A3翻转其他正常.....为了下标与数字对应我开了6个空间,然后从1开始循环,到4截止,因为循环中有i1害怕数组越界,如果索引出的数与下标不相等了&…

教育类网站开发文档上海工程项目查询

仓库建设 luogu 2120 题目大意 有一个斜坡,上面有n个工厂(山顶是1,山脚是nnn,工厂都是漏填),上面有pip_ipi​个货物,和工厂1的距离为x1x_1x1​ 现在有一场大雨,你可以在某些工厂处…