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;后续简写&…

网站工作原理

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

[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可以…

轻松搞定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、设置成功后重新发起请求

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…

Mesh接入简化SUI转账流程

是一家嵌入式金融公司&#xff0c;旨在实现无缝的加密货币转账&#xff0c;现在宣布支持SUI。Mesh的技术已经整合了300多个交易所和钱包&#xff0c;用户现在可以轻松地将SUI转入和转出包括Coinbase和Binance在内的热门钱包和交易所。 Mesh的技术解决了传统Web3用户在转账时遇…

数据库小项目——叮叮移动业务大厅(三层架构+MySQL数据库)

源码已上传至资源 该项目主要使用技术为MySQL数据库&#xff0c;其中也包含了一些对于文件的写入和读取操作。项目结构采用三层架构&#xff0c;后端的业务逻辑清晰明了。 1.项目结构 项目采用控制台版&#xff0c;前端业务在java包下&#xff0c;每个业务单独成块。若想要GUI…

Day05-Grafana的基本应用与配置

Day05-Grafana的基本应用与配置 1. Grafana概述2. Grafana实战2.1 环境准备2.2 使用流程1&#xff09;部署grafana 9.3.62&#xff09;web页面访问3&#xff09;配置zbx插件4&#xff09;配置grafana的数据源5&#xff09;web: Grafana web页面添加与配置图形dashboard,仪表盘6…

每日一练2024.5.24(补2024.5.26)

题目&#xff1a; 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]]示例 2&#xff1a; 输入&#x…

李良济中医馆荣获天猫健康中药行业“2023年度潜力中医馆”!

李良济集团旗下中医电商品牌李良济中医馆&#xff0c;凭借其在行业中持续提升的竞争力&#xff0c;荣获天猫健康中药行业“2023年度潜力中医馆”称号。 百年品牌&#xff0c;品质信得过 李良济成立于1914年&#xff0c;百余年来&#xff0c;恪守“良心良药&#xff0c;济世济人…

centos7和centos8安装mysql5.6 5.7 8.0

https://dev.mysql.com/downloads/repo/yum/ 注意构造下http://repo.mysql.com/mysql-community-release-el*-*.noarch.rpm 【以centos7为例】 安装mysql5.6 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5…