uni-app 支付宝小程序云 前端网页托管 报错:删除文件夹时提醒非空文件夹不能删除
uni-app 支付宝小程序云 前端网页托管 报错:删除文件夹时提醒非空文件夹不能删除
产品分类
uniCloud/支付宝小程序云
操作步骤
上传文件到支付宝小程序云网页托管, 然后删除这个文件夹
预期结果
随便删除
实际结果
会判断文件夹是否为空
bug描述
当上传到支付宝小程序云前端网页托管时, 想删除某个文件时, 会提示非空文件夹不让删除。1个1个文件删除, 实在太慢了…
我在 阿里云的 前端托管 删除 文件夹的时候 , 就可以 随便删除
给我一个脚本也行,200多文件怎么更新
目前支付宝暂未支持删除非空目录,正在跟进,后续会做支持。
那如果 支付宝不支持的话 , 能不能 也添加 一个 类似的功能, 底层 是 for 循环 删除 一个一个 调用api 删除呢? 用户 一个一个 删, 实在 太耗时了
6月份了,还没支持吗,这个问题直接关系到uni-admin的使用
写了人生 第一个 油猴插件, 就是为了 删除 这个 托管文件夹
内部是 调用 接口 递归删除,
不过还是 太慢了, 麻烦 官方 重视下这个问题
支付宝云网页托管请尽快支持删除非空目录!!!!
七月份了还不支持,这是个正常人也能想到是必须要用功能啊!!
10月了还不支持?
11月了还不支持
快1月了,大哥,我也觉着这个别扭的不行,看着一堆没用的删不了
2025/1/3 还不支持
在处理uni-app开发支付宝小程序云前端网页托管过程中,遇到“删除文件夹时提醒非空文件夹不能删除”这类问题,通常是因为尝试删除的文件夹中仍包含文件或子文件夹。为了确保文件夹能够被正确删除,我们需要先递归地删除其中的所有内容。以下是一个基于JavaScript的解决方案,展示了如何在Node.js环境下实现这一功能。虽然这不是直接在uni-app或支付宝小程序中运行的代码,但可以在服务器端脚本中使用,特别是当你通过Node.js来管理云存储或服务器文件时。
const fs = require('fs');
const path = require('path');
/**
* 递归删除文件夹及其内容
* @param {string} dirPath - 要删除的文件夹路径
*/
async function deleteFolderRecursive(dirPath) {
return new Promise((resolve, reject) => {
fs.readdir(dirPath, (err, files) => {
if (err) {
return reject(err);
}
let count = 0;
const checkDone = () => {
if (--count === 0) {
fs.rmdir(dirPath, err => {
if (err) {
return reject(err);
}
resolve();
});
}
};
files.forEach(file => {
const filePath = path.join(dirPath, file);
count++;
fs.stat(filePath, (err, stats) => {
if (err) {
return reject(err);
}
if (stats.isDirectory()) {
deleteFolderRecursive(filePath).then(checkDone, reject);
} else {
fs.unlink(filePath, err => {
if (err) {
return reject(err);
}
checkDone();
});
}
});
});
// 如果没有文件或文件夹,则直接删除空文件夹
if (files.length === 0) {
fs.rmdir(dirPath, err => {
if (err) {
return reject(err);
}
resolve();
});
}
});
});
}
// 使用示例
const folderPathToDelete = '/path/to/your/folder';
deleteFolderRecursive(folderPathToDelete)
.then(() => console.log('Folder deleted successfully'))
.catch(err => console.error('Error deleting folder:', err));
这段代码定义了一个deleteFolderRecursive
函数,它接受一个文件夹路径作为参数,并递归地删除该文件夹及其所有内容。该函数返回一个Promise,当文件夹及其内容被成功删除时解析,如果遇到错误则拒绝。
请注意,实际在uni-app或支付宝小程序环境中,你可能需要通过云函数或其他服务器端逻辑来执行此类操作,因为前端直接操作文件系统通常是不被允许的。此外,确保你有适当的权限来删除指定的文件夹和文件。