mysql 、oss 结合使用

以下是一个使用 Express、MySQL、OSS 和 axios 的 Node.js 示例。这个示例创建了一个 Express 服务器,该服务器有一个路由用于处理视频上传的请求。视频文件首先被上传到 OSS,然后视频的 OSS URL 被存储到 MySQL 数据库。

首先,我们需要安装必要的 npm 包:

// server.js
const express = require('express');
const multer = require('multer');
const OSS = require('ali-oss');
const mysql = require('mysql');
const axios = require('axios');// 创建 MySQL 连接
const connection = mysql.createConnection({host: 'localhost',user: 'user',password: 'password',database: 'database'
});// 创建 OSS 客户端
const client = new OSS({region: '<Your region>',accessKeyId: '<Your AccessKeyId>',accessKeySecret: '<Your AccessKeySecret>',bucket: '<Your bucket name>',
});const upload = multer({ dest: 'uploads/' });const app = express();app.post('/upload', upload.single('video'), async (req, res) => {// 上传视频到 OSSconst result = await client.put('object-name', req.file.path);// 将视频的 OSS URL 存储到 MySQLconst query = 'INSERT INTO videos (url) VALUES (?)';connection.query(query, [result.url], (error, results, fields) => {if (error) return res.status(500).send(error);res.send('Video URL has been saved to MySQL.');});
});app.listen(3000, () => console.log('Server is running on port 3000'));

// client.js
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');const form = new FormData();
form.append('video', fs.createReadStream('/path/to/your/video.mp4'));axios.post('http://localhost:3000/upload', form, {headers: form.getHeaders()
}).then(response => {console.log(response.data);
}).catch(error => {console.error(error);
});

请注意,你需要将上述代码中的 <Your region><Your AccessKeyId><Your AccessKeySecret><Your bucket name> 替换为你的 OSS 配置信息,将 localhostuserpassworddatabase 替换为你的 MySQL 连接信息,将 object-name 和 /path/to/your/video.mp4 替换为你的视频文件的 OSS 对象名和本地路径。

此外,这个示例假设你已经在 MySQL 中创建了一个名为 videos 的表,该表有一个名为 url 的列用于存储视频的 OSS URL。如果你的数据库结构不同,你可能需要修改 INSERT INTO videos (url) VALUES (?) 这行代码。

最后,这个示例没有处理任何错误,实际使用时你应该添加适当的错误处理代码。

multer - npm

Nodejs 第七十章(OSS)-CSDN博客

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

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

相关文章

最大负载1kg!高度模块化设计!大象机器人智能遥控操作机械臂组合myArm MC

引入 近年来&#xff0c;市面上涌现了许多类似于斯坦福大学的 Alopha 机器人项目&#xff0c;这些项目主要通过模仿人类的运动轨迹来进行学习&#xff0c;实现了仿人类的人工智能。Alopha 机器人通过先进的算法和传感技术&#xff0c;能够精确复制人类的动作&#xff0c;并从中…

【stm32】——使用HAL库点灯

目录 一、安装STM32CubeMX 二、HAL库点亮LED灯 1.STM32CubeMX创建项目 2.进入Keil编写代码 三、采用中断控制LED灯的亮灭 1.创建项目 2.Keil中编写代码 四、Keil波形分析 总结 一、安装STM32CubeMX 具体操作可以参考下面链接&#xff1a; 搭建STM32开发环境——STM32CubeMX&a…

用Python pynput库捕捉每一次组合键的优雅舞步

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 一、初识pynput&#xff1a;键盘与鼠标的监控利器 当谈论计算机交互时&#xff0c;键盘和鼠标无疑是最常用的设备。无论是编写代码、浏览网页还是玩游戏&#xff0c;都依赖于这些输入设备与机器沟通。但在一些特殊的…

蓝桥杯单片机-国赛5——各外设时序记忆方法及手册重点提取

蓝桥杯涉及三个通讯外设&#xff0c;时序很难记忆&#xff0c;因此本文重点在于记录如何不背时序&#xff0c;直接看手册 注意&#xff1a;本文参考2024年第15届比赛手册讲解&#xff0c;没有英文基础也没关系 每一个外设会在第一张时序图中详细讲解&#xff0c;后续简写&…

【DevOps】深入理解 Nginx Location 块:配置示例与应用场景详解

目录 一、location 块的基本概念 二、location 块的语法 三、location 块的匹配方式 四、location 块的优先级 五、location 块的应用场景 六、location 块的嵌套 七、location 块的指令 八、示例配置 Nginx 是一个高性能的 Web 服务器和反向代理服务器&#xff0c;它广…

网站工作原理

web发展史 1.0时代不可修改 2.0可修改&#xff0c;比如发微博 有以下问题&#xff1a; 课程2&#xff1a; 静态页面 html 动态页面 php 经过服务端的语言解释器&#xff0c;解析成html文件&#xff0c;剩下的就和静态流程一样 后面三个是web服务器&#xff0c;语言解释器&…

边缘人工智能中的视频目标检测方法详解

随着边缘计算和人工智能技术的发展&#xff0c;视频目标检测在边缘设备上的应用变得越来越普遍。这些应用包括智能监控、自动驾驶、无人机巡检等。为了在资源受限的边缘设备上实现高效的目标检测&#xff0c;选择合适的算法和工具至关重要。本文将详细介绍几种适用于边缘设备的…

算法刷题day53:树形DP

目录 引言一、没有上司的舞会二、树的重心三、树的最长路径四、树的中心五、数字转换 引言 关于这个树形 D P DP DP 啊&#xff0c;其实感觉就是对树进行 D F S DFS DFS 只不过有一个返回值罢了&#xff0c;这个返回值一般代表的就是以该结点为根的子树的一个属性&#xff0…

[Spring Boot]baomidou 多数据源

文章目录 简述本文涉及代码已开源 项目配置pom引入baomidouyml增加dynamic配置启动类增加注解配置结束 业务调用注解DS()TransactionalDSTransactional自定义数据源注解MySQL2 测试调用查询接口单数据源事务测试多数据源事务如果依然使用Transactional会怎样&#xff1f;测试正…

dubbo复习: (6)和springboot集成时的条件路由

根据指定的条件&#xff0c;对不满足条件的请求进行拦截。 比如拦截ip地址为192.168.31.227的请求。只需要在dubbo admin中的条件路由菜单创建相应的规则 enabled: true force: true runtime: true conditions:- host ! 192.168.31.227

vlan综合实验

一&#xff0c;实验拓扑&#xff1a; 二&#xff0c;实验需求&#xff1a; 1、pc1和pc3所在接口为access;属于vlan 2;P可以骄问pcepces不的一段;其中pc2可以访问pc4/pc5/pc6; 2、pc1/pc3与pc2/pc4/pc5/pc6不在同一网段; 3、所有pc通过DHCP获取Ip地址&#xff0c;且pc1/pc3可以…

Golang框架HTTP客户端框架zdpgo_resty发送表单请求

核心代码 这里通过字典传递了一个简单的表单数据。 发送的是POST请求。 resp, err : client.R().SetFormData(map[string]string{"username": "jeeva","password": "mypass",}).Post("http://127.0.0.1:3333/login")fmt.P…

Java NIO库中三个不同的类Files、Path和Paths

Files.Path.Paths 三个类是 Java NIO&#xff08;New I/O&#xff09;框架的一部分&#xff0c;用于处理 Java 程序中的文件系统操作。让我们详细介绍一下这三个类&#xff1a;1. java.nio.file.Files 类&#xff1a; - Files 类是 Java NIO 框架的核心部分&#xff0c;提供…

轻松搞定LOGO渲染,用ComfyUI快速生成炫酷效果图!

一、准备工作一键搞定 必备资源&#xff1a;垫图和风格参考图 垫图&#xff1a;提供LOGO的基础参考。 风格参考图&#xff1a;确定LOGO的最终效果风格。 节点信息&#xff1a;一键配置 自定义节点&#xff08;9&#xff09;&#xff1a;包括ComfyUI_Comfyroll_CustomNodes, …

【安装笔记-20240524-Windows-安装测试 7-Zip】

安装笔记-系列文章目录 安装笔记-20240524-Windows-安装测试 7-Zip 文章目录 安装笔记-系列文章目录安装笔记-20240524-Windows-安装测试 7-Zip 前言一、软件介绍名称&#xff1a;7-Zip主页官方介绍7-Zip 主要特征 二、安装步骤测试版本&#xff1a;24.05 (2024-05-14) for Wi…

burpsuite抓包响应报文乱码

1、响应报文中的中文信息乱码 2、解决办法 3、设置成功后重新发起请求

数据可视化-汇总

九大数据分析方法-综合型分析方法以及如何使用这九大分析方法 九大数据分析方法-单指标分析方法与多指标分析方法 数据分析方法与模型 电商数据分析&#xff1a;只会环比下降3%的数据分析师还有救吗&#xff1f; 数据可视化第二版-拓展-和鲸网约车分析一等奖作品 Echarts5…

VMware安装Windows11

本文记录了我使用VMware安装Windows11的操作系统的流程&#xff0c;供大家参考。 创建虚拟机 新建虚拟机 直接默认点下一步 稍后安装操作系统 选择操作系统 本来应该选Windows11的但是我这个版本的VMware没有Windows11所以就选Windows10吧 命名虚拟机 固件类型 注意选择UE…

打开深度学习的锁:(3)进阶知识补充

进阶知识补充 零、深度学习的技巧1.偏差和方差解决技巧2.深度网络层数 一、深度学习的核心1. 参数&#xff08;Weights and Biases&#xff09;2. 网络架构&#xff08;Network Architecture&#xff09;2.1. 激活函数和其导数Sigmoid 函数&#xff1a;ReLU 函数&#xff1a;Ta…