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

2 回复

在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格式的文件上传。

回到顶部