服务器更换访问链接以后,表格内的文件地址还是原来地址无法访问,有什么方法可以把文件的地址也更换为新的。
目前没有什么方法。
你这是本地部署的吗,如果按照他们官网的教程部署的,那数据一般都是存在mysql数据库的,你看下具体存在哪个库哪个表,然后试着直接改数据库的数据呢,先改一个,看下效果
也就是要跟换服务器,前面的数据都全部没办法用了就?
一开始的时候就配置域名就可以了
使用js或者python脚本进行更新,主要思路:
1、遍历所有工作区间的所有行和列,检查是否是文件格式
2、如果是文件格式那么替换文件数组中的url
3、更新行
1 个赞
这个思路可以,可能需要遍历全部的行列,替换更新的URL,如果是长文本中的图片,需要特殊处理一下
这个脚本在seatable-server-latest/dtable-web 目录下,在这个目录下执行这个命令
1 个赞
好的 测试正常,感谢
思路很好,写了个js脚本的作为样例
var tbname = '表名'
var col = '列名'
var oldurl = '原链接'
var newurl = '新链接'
var data = await base.query(`select * from ${tbname} where ${col} is not NULL Limit 100000`)
output.text(data.length)
var updatedRows = []
var selectedRows = []
for (let i = 0; i < data.length; i++) {
var attrs = []
var row = data[i]
selectedRows.push(data[i])
for (const e of row[col]) {
var attr = JSON.parse(JSON.stringify(e))
attr['url'] = attr['url'].replace(oldurl, newurl)
attrs.push(attr)
}
updatedRows.push({ col : attrs })
}
base.modifyRows(tbname, selectedRows, updatedRows)
1 个赞
Unknown command: ‘domain_transfer’
Type ‘manage.py help’ for usage.
在该目录下执行后,又报找不到 domain_transfer 命令