HarmonyOS鸿蒙Next中配合上一篇上传图片到服务器的后端代码 vscode用
HarmonyOS鸿蒙Next中配合上一篇上传图片到服务器的后端代码 vscode用
const express = require(‘express’)
const userRouter =require(’./router/userRouter’) const router = require(’./utils/mysql’)
const app = express()
const port=3000
app.use(express.static(‘public’)) app.use(express.json())
app.use(userRouter) app.use(router)
app.listen(port,()=>{
console.log(正监听:localhost:${port}
);
})
上面是一个文件,下面也是一个单独的文件
const mysql = require(‘mysql’)
const pool=mysql.createPool({ host:‘localhost’, user:‘root’, password:‘root’, database:‘yunhe’, port:‘3306’, connectionLimit:50, queryFormat:10 })
function query(sql, data = []) {
return new Promise((resolve, reject) => {
pool.getConnection(function (err, connection) {
if (err) {
// console.log(‘与mysql数据库建立连接失败’);
reject(与mysql数据库建立连接失败---${err}
)
pool.releaseConnection();//释放链接
} else {
console.log(‘与mysql数据库建立连接成功’);
// select * from ? where category in (?, ?, ?)
// connection.query(sql语句,[‘book’,‘轻小说’,‘历史’,‘都市’],回调函数)
connection.query(sql, data, function (err, rows) {
if (err) {
// console.log(‘执行sql语句失败,查询数据失败–’);
reject(执行sql语句失败,查询数据失败-${err}
)
connection.release();//释放链接
// pool.end();
再创建一个sql语句文件
const express = require("express")
//创建路由对象,来管理路由
const router = express.Router()
const query = require("../utils/mysql")
//const token = require('../utils/token')
router.post("/login", async (req, res) => {
try {
//接收参数
let { account, password } = req.body;
let sql = "select * from members where account = ? and account = ? "
let result = await query(sql,[account,password])
if (result.length){
//该用户已经注册
if (result[0].password === password){
res.send({
code: 200,
msg: '登录成功',
token: 'tokenCode'
})
}else{
res.send({
code: 201,
msg: '密码错误'
})
}
}else{
//该用户未注册
sql = "insert into members (account,password) values (? , ?)"
result = await query(sql,[account,password])
if (result.affectedRows === 1){
res.send({
code: 200,
msg: '注册成功'
})
}else{
res.send({
code: 202,
msg: '注册失败'
})
}
}
} catch (err) {
console.log('err', err);
}
})
module.exports = router
更多关于HarmonyOS鸿蒙Next中配合上一篇上传图片到服务器的后端代码 vscode用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,使用VSCode开发时,上传图片到服务器的后端代码可以通过以下步骤实现。首先,确保你的开发环境已经配置好,并且安装了必要的插件。接着,创建一个新的项目,并在项目中添加一个用于处理图片上传的模块。
在项目中,你可以使用http
模块来发送HTTP请求。首先,导入http
模块:
import http from '@ohos.net.http';
然后,创建一个http.Request
对象,并设置请求的URL、方法和头部信息:
let request = http.createHttp();
let url = 'https://your-server-url.com/upload';
let options = {
method: http.RequestMethod.POST,
header: {
'Content-Type': 'multipart/form-data'
}
};
接下来,读取图片文件并将其作为请求体发送。假设图片文件路径为/path/to/image.jpg
,你可以使用fs
模块读取文件内容:
import fs from '@ohos.file.fs';
let filePath = '/path/to/image.jpg';
let fileData = fs.readFileSync(filePath);
将文件数据添加到请求体中:
let formData = new FormData();
formData.append('file', fileData, 'image.jpg');
options.body = formData;
最后,发送请求并处理响应:
request.request(url, options, (err, data) => {
if (err) {
console.error('Error:', err);
} else {
console.log('Response:', data.result);
}
});
以上代码实现了在HarmonyOS鸿蒙Next中使用VSCode开发时,上传图片到服务器的功能。确保服务器端已经配置好接收和处理图片上传的接口。
更多关于HarmonyOS鸿蒙Next中配合上一篇上传图片到服务器的后端代码 vscode用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,你可以使用@ohos.net.http
模块来实现图片上传。以下是一个简单的示例代码,配合后端API上传图片:
import http from '@ohos.net.http';
function uploadImage(filePath) {
let httpRequest = http.createHttp();
let formData = new FormData();
formData.append('file', { uri: filePath, type: 'image/jpeg', name: 'image.jpg' });
httpRequest.request(
"https://your-server.com/upload",
{
method: http.RequestMethod.POST,
header: { 'Content-Type': 'multipart/form-data' },
extraData: formData
},
(err, data) => {
if (err) {
console.error('Upload failed:', err);
} else {
console.log('Upload success:', data.result);
}
}
);
}
确保后端API支持multipart/form-data
格式的文件上传。