我有一个网络应用程序,必须将文件从本地系统上传到ec2实例上的烧瓶应用程序。我定义了上传路径,当我访问它时,我得到一个IOError说: IOError:[Errno 20]不是目录:'/ dev / xvda / upload / hello.txt'
我也尝试过只使用:/ upload
它们都不起作用,我使用mkdr命令在实例上创建了文件夹
答案 0 :(得分:1)
您将无法直接上传到/dev/xvda/upload/hello.txt路径,因为这是一个块设备,而不是已安装的文件系统(原始硬盘驱动器)。
您需要使用像/ upload这样的路径。
您可能遇到了/ upload文件夹的权限问题。作为测试,我建议使用/ tmp /文件夹进行上传,该文件应具有开放文件权限。如果这样可行,那么您就知道这是阻止/上传工作的权限问题。要使/ upload文件夹正常工作,您需要将其与运行烧瓶应用程序的用户相同。 (还有其他方法可以使它工作,但这可能是最简单的。)
chown flask_user / upload