簡體   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