繁体   English   中英

从POST请求将文件保存到Web服务器

[英]Save File to Webserver from POST Request

我在我的网络服务器上的/var/www/cgi-bin中用一些javascript到一个python脚本发出一个post请求,然后在这个python脚本中我想将图像文件保存到我的html文件夹,所以它可以稍后被检索。

位于/var/www/html ,但是现在我知道如何执行此操作的唯一方法是将python脚本设置为chmod 777 ,我不想这样做。

那么我怎样才能保存我使用javascript从我的网页抓取的文件,然后通过POST发送到服务器的javascript?

目前当我这样做时,我得到一个错误,说python没有保存权限,因为它的chmod是755

我这里是python代码,我知道它的工作原理错误就是说我没有权限写这个文件

fh = open("/var/www/html/logo.png", "wb")
fh.write(photo.decode('base64'))
fh.close()

如果您不想将该目录的权限更改为777 ,则可以将目录的所有者更改为HTTP服务器用户,然后Web应用程序的用户将能够将文件写入该目录,因为他们具有rwx - 7目录的rwx - 7权限。

要做到这一点,通过(因为您使用Apache作为您的Web服务器,请记住登录为root):

chown -R apache:apache /var/www/cgi-bin/

请记住,那时只有用户apacherootrwx到该目录,而其他人有rx

这个命令意味着:

chown - change the owner of the directory
-R    - operate on files and directories recursively

apache:apache - apache user, apache group
/var/www/cgi-bin/ - the directory

尝试man chown命令检查的手册页chown ,了解更多, 这里有一个在线版本


如果你需要更改它,我认为该目录的默认用户是root 所以以root身份登录,然后运行命令:

chown -R root:root /var/www/cgi-bin/

我们在聊天室里解决了这个问题。

错误消息直接指示运行python服务器的角色/使用没有对该文件夹的写访问权。 您需要分配角色或Web服务器用户。 确保只提供写访问权限而不是写入+执行权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM