芋道上传图片报错防火墙问题 ,使用自定义上传

该代码片段展示了如何在IT内容管理系统中实现自定义图片上传功能,通过`customUpload`函数,用户可以上传文件,然后利用`insertFn`将图片URL插入到编辑器。它使用了FormData对象和ElementPlus的Upload组件进行上传操作,并捕获可能的错误。
摘要由CSDN通过智能技术生成

 

  customInsert(res: any, insertFn: InsertFnType) {
            console.log(res)
            insertFn(res.data, 'image', res.data)
          },
          customUpload(files, insertImgFn) {
            // 创建FormData对象
            const formData = new FormData()
            formData.append('file', files)
            // 将文件添加到FormData中
            // 发送上传请求
            // 这里使用Element Plus的Upload组件来实现上传
            // 请根据实际情况调整上传接口地址和其他参数
            request
              .upload({ url: import.meta.env.VITE_UPLOAD_URL, data: formData })
              .then((response) => {
                // 上传成功后,获取图片的 URL
                const imgUrl = response.data
                // 调用 insertImgCallback 插入图片到编辑器中
                insertImgFn(imgUrl, insertImgFn)
              })
              .catch((error) => {
                // 上传失败的处理逻辑
                console.error('上传失败:', error)
              })
          }

好的,以下是一个简单的C语言实现停车场管理系统的示例代码: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> #define MAX_CARS 10 // 停车场最大容量 #define MAX_WAITING_CARS 10 // 边道最大容量 #define FEE_RATE 1 // 停车费用:每分钟1元 // 车辆结构体 typedef struct { int id; // 车辆编号 time_t enter_time; // 进入停车场时间 time_t leave_time; // 离开停车场时间 } Car; // 停车场结构体 typedef struct { Car cars[MAX_CARS]; // 车辆数组 int num_cars; // 当前停放的车辆数量 } ParkingLot; // 边道结构体 typedef struct { Car cars[MAX_WAITING_CARS]; // 车辆数组 int num_cars; // 当前等待的车辆数量 } SideRoad; // 初始化停车场 void init_parking_lot(ParkingLot *parking_lot) { parking_lot->num_cars = 0; } // 初始化边道 void init_side_road(SideRoad *side_road) { side_road->num_cars = 0; } // 进入停车场 void enter_parking_lot(ParkingLot *parking_lot, SideRoad *side_road, int car_id) { if (parking_lot->num_cars < MAX_CARS) { // 停车场有空余车位 // 将车辆停放在车场最北端 Car car = {car_id, time(NULL), 0}; parking_lot->cars[parking_lot->num_cars] = car; parking_lot->num_cars++; printf("车辆 %d 进入停车场,停放在第 %d 个位置\n", car_id, parking_lot->num_cars); } else { // 停车场已满,将车辆停放在边道上 if (side_road->num_cars < MAX_WAITING_CARS) { // 边道有空余车位 Car car = {car_id, time(NULL), 0}; side_road->cars[side_road->num_cars] = car; side_road->num_cars++; printf("车辆 %d 进入边道,等待停车场空余车位\n", car_id); } else { // 边道也已满,无法停放车辆 printf("车辆 %d 无法停放,停车场和边道均已满\n", car_id); } } } // 离开停车场 void leave_parking_lot(ParkingLot *parking_lot, SideRoad *side_road) { if (parking_lot->num_cars > 0) { // 停车场有车辆 // 计算停车费用 Car car = parking_lot->cars[0]; car.leave_time = time(NULL); int duration = (int)(car.leave_time - car.enter_time) / 60; // 停车时间(分钟) int fee = duration * FEE_RATE; // 停车费用 printf("车辆 %d 离开停车场,停车时间为 %d 分钟,停车费用为 %d 元\n", car.id, duration, fee); // 调整车辆数组 for (int i = 0; i < parking_lot->num_cars - 1; i++) { parking_lot->cars[i] = parking_lot->cars[i + 1]; } parking_lot->num_cars--; // 将边道上的车辆停放在车场 if (side_road->num_cars > 0) { Car waiting_car = side_road->cars[0]; enter_parking_lot(parking_lot, side_road, waiting_car.id); // 调整车辆数组 for (int i = 0; i < side_road->num_cars - 1; i++) { side_road->cars[i] = side_road->cars[i + 1]; } side_road->num_cars--; } } else { // 停车场没有车辆 printf("停车场没有车辆\n"); } } // 显示停车场状态 void display_parking_lot_status(ParkingLot *parking_lot, SideRoad *side_road) { printf("停车场状态:\n"); printf("停车场容量:%d,已停车辆:%d,空余车位:%d\n", MAX_CARS, parking_lot->num_cars, MAX_CARS - parking_lot->num_cars); printf("边道容量:%d,等待车辆:%d\n", MAX_WAITING_CARS, side_road->num_cars); printf("停车场车辆信息:\n"); for (int i = 0; i < parking_lot->num_cars; i++) { Car car = parking_lot->cars[i]; printf("车辆 %d,进入时间:%ld\n", car.id, car.enter_time); } printf("边道车辆信息:\n"); for (int i = 0; i < side_road->num_cars; i++) { Car car = side_road->cars[i]; printf("车辆 %d,进入时间:%ld\n", car.id, car.enter_time); } } int main() { ParkingLot parking_lot; SideRoad side_road; init_parking_lot(&parking_lot); init_side_road(&side_road); int choice, car_id; while (1) { printf("请选择操作:\n"); printf("1. 进入停车场\n"); printf("2. 离开停车场\n"); printf("3. 显示停车场状态\n"); printf("4. 退出程序\n"); scanf("%d", &choice); switch (choice) { case 1: printf("请输入车辆编号:\n"); scanf("%d", &car_id); enter_parking_lot(&parking_lot, &side_road, car_id); break; case 2: leave_parking_lot(&parking_lot, &side_road); break; case 3: display_parking_lot_status(&parking_lot, &side_road); break; case 4: exit(0); default: printf("输入错误,请重新输入!\n"); break; } } return 0; } ``` 这个程序使用了结构体来表示车辆、停车场和边道,并实现了进入停车场、离开停车场和显示停车场状态等功能。在进入停车场时,如果停车场已满,会将车辆停放在边道上等待;在离开停车场时,会按照先进先出的原则让排在它后面的车辆先退出停车场,等待该车辆开出大门后,其他车辆再按照原次序进入停车场,并计算停车费用。用户可以通过控制台界面来选择操作并输入车辆编号,程序会根据用户的选择执行相应的功能,并实时显示停车场状态。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值