将文件从 POST 请求保存到网络服务器
Save File to Webserver from POST Request
我正在向我的网络服务器 /var/www/cgi-bin
中的 python 脚本发出 post 请求,其中包含一些 javascript,然后在此 python 脚本我想将图像文件保存到我的 html 文件夹中,以便以后检索。
位于 /var/www/html
,但现在我知道如何执行此操作的唯一方法是将 python 脚本设置为 chmod 777
,我不想这样做。
那么我还能如何保存使用 javascript 从我的网页抓取的文件,然后使用 javascript 通过 POST 发送到服务器?
目前,当我这样做时,我收到一条错误消息,提示 python 没有保存权限,因为它的 chmod 是 755
。
我这里是 python 代码,我知道它可以正常工作,因为错误只是说我没有写入文件的权限
fh = open("/var/www/html/logo.png", "wb")
fh.write(photo.decode('base64'))
fh.close()
错误消息直接表明 role/use python 服务器 运行 没有对该文件夹的写入权限。您需要分配角色或 Web 服务器用户。确保只授予写访问权限,而不是写 + 执行访问权限。
如果您不想将该目录的权限更改为777
,您可以将该目录的所有者更改为您的 HTTP 服务器用户,那么您的网络应用程序的用户将能够将文件写入该目录,因为他们具有该目录的 rwx - 7
权限。
为此,通过(因为您使用 Apache 作为 Web 服务器,请记住以 `root 身份登录):
chown -R apache:apache /var/www/cgi-bin/
请记住,只有用户 apache
和 root
拥有该目录的 rwx
,其他人拥有 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
的手册页并了解更多信息,here's a online version。
如果你需要改回来,我想那个目录的默认用户是root
。所以以 root
登录,然后 运行 命令:
chown -R root:root /var/www/cgi-bin/
We were solved the problem in chat room.
我正在向我的网络服务器 /var/www/cgi-bin
中的 python 脚本发出 post 请求,其中包含一些 javascript,然后在此 python 脚本我想将图像文件保存到我的 html 文件夹中,以便以后检索。
位于 /var/www/html
,但现在我知道如何执行此操作的唯一方法是将 python 脚本设置为 chmod 777
,我不想这样做。
那么我还能如何保存使用 javascript 从我的网页抓取的文件,然后使用 javascript 通过 POST 发送到服务器?
目前,当我这样做时,我收到一条错误消息,提示 python 没有保存权限,因为它的 chmod 是 755
。
我这里是 python 代码,我知道它可以正常工作,因为错误只是说我没有写入文件的权限
fh = open("/var/www/html/logo.png", "wb")
fh.write(photo.decode('base64'))
fh.close()
错误消息直接表明 role/use python 服务器 运行 没有对该文件夹的写入权限。您需要分配角色或 Web 服务器用户。确保只授予写访问权限,而不是写 + 执行访问权限。
如果您不想将该目录的权限更改为777
,您可以将该目录的所有者更改为您的 HTTP 服务器用户,那么您的网络应用程序的用户将能够将文件写入该目录,因为他们具有该目录的 rwx - 7
权限。
为此,通过(因为您使用 Apache 作为 Web 服务器,请记住以 `root 身份登录):
chown -R apache:apache /var/www/cgi-bin/
请记住,只有用户 apache
和 root
拥有该目录的 rwx
,其他人拥有 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
的手册页并了解更多信息,here's a online version。
如果你需要改回来,我想那个目录的默认用户是root
。所以以 root
登录,然后 运行 命令:
chown -R root:root /var/www/cgi-bin/
We were solved the problem in chat room.