在实现上传文件功能时出现upload file exception: [Errno 30] Read-only file system:错误。网上一番搜索尝试操作之后找到解决方法。
出现这个错误的原因是macOS big sur中根目录不能读写。这个事情在上一个版本catalina的时候,就出现过一次。然后我一开始找到的很多方法都是针对catalina版本的系统的,在bigsur中并不起作用。最后在https://newsn.net/say/mac-big-sur-root-readonly.html中找到简单有用适合小白的解决方法。
主要的解决方法就是在根目录下建一个软链接 (data),链到我上传文件的目标文件夹( /Users/hushasha/PycharmProjects/flaskProject_books_project/static)上。
这里先建立好真实目录(/Users/hushasha/PycharmProjects/flaskProject_books_project/static)。然后,编辑一下/etc/synthetic.conf文件。(木有的话,无所谓的,vi会自动创建一个的。)
sudo vi /etc/synthetic.conf
然后在里面写入自己希望的软连接对应关系,比如:
data /Users/hushasha/PycharmProjects/flaskProject_books_project/static
需要注意的是这里data和真实目录之间是tab不是空格。
保存好之后,重启电脑。然后,根目录下面出现了一个软链接目录data!在代码中把上传的文件夹路径改为软链接即可。