DIAMONDHOSTDevelopers
檔案管理
瀏覽、讀寫、移動、壓縮與上下載伺服器檔案。
瀏覽與內容
GET
/list?directory={path}列出目錄內容
列出指定路徑內的檔案與子目錄。
程式範例cURL / Node.js / Python
curl -X GET "${BASE_URL}/list?directory={path}" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: application/json"GET
/contents?file={path}讀取檔案
取得指定文字檔案的原始內容。
程式範例cURL / Node.js / Python
curl -X GET "${BASE_URL}/contents?file={path}" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: application/json"POST
/write?file=server.properties寫入檔案
以純文字請求本文覆寫指定檔案內容。
REQUEST BODY
motd=DiamondHost Server
max-players=20程式範例cURL / Node.js / Python
curl -X POST "${BASE_URL}/write?file=server.properties" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: application/json" \
-H "Content-Type: text/plain" \
-d 'motd=DiamondHost Server
max-players=20'GET
/folder-size?directory={path}取得目錄大小
計算指定目錄使用的空間。
程式範例cURL / Node.js / Python
curl -X GET "${BASE_URL}/folder-size?directory={path}" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: application/json"檔案操作
PUT
/rename重新命名或移動
以 root 與 files 陣列批次重新命名檔案。
REQUEST BODY
{
"root": "/",
"files": [{ "from": "old-name.txt", "to": "new-name.txt" }]
}程式範例cURL / Node.js / Python
curl -X PUT "${BASE_URL}/rename" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"root": "/",
"files": [{ "from": "old-name.txt", "to": "new-name.txt" }]
}'POST
/copy複製檔案
在同一目錄建立檔案副本。
REQUEST BODY
{ "location": "/config.yml" }程式範例cURL / Node.js / Python
curl -X POST "${BASE_URL}/copy" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{ "location": "/config.yml" }'POST
/create-folder建立目錄
在指定 root 下建立新目錄。
REQUEST BODY
{ "root": "/", "name": "plugins" }程式範例cURL / Node.js / Python
curl -X POST "${BASE_URL}/create-folder" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{ "root": "/", "name": "plugins" }'POST
/delete刪除檔案或目錄
批次刪除指定路徑;操作無法復原。
REQUEST BODY
{ "root": "/", "files": ["old-file.txt", "temp-folder"] }程式範例cURL / Node.js / Python
curl -X POST "${BASE_URL}/delete" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{ "root": "/", "files": ["old-file.txt", "temp-folder"] }'POST
/chmod修改檔案權限
更新一或多個檔案的 Unix mode。
REQUEST BODY
{
"root": "/",
"files": [{ "file": "start.sh", "mode": "755" }]
}程式範例cURL / Node.js / Python
curl -X POST "${BASE_URL}/chmod" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"root": "/",
"files": [{ "file": "start.sh", "mode": "755" }]
}'傳輸與封裝
GET
/upload取得上傳 URL
產生具時效性的一次性 Wings 上傳網址。
程式範例cURL / Node.js / Python
curl -X GET "${BASE_URL}/upload" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: application/json"GET
/download?file={path}取得下載 URL
產生指定檔案的簽名下載網址。
程式範例cURL / Node.js / Python
curl -X GET "${BASE_URL}/download?file={path}" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: application/json"POST
/pull從遠端 URL 拉取檔案
由伺服器節點直接下載遠端檔案。
REQUEST BODY
{
"url": "https://example.com/server.jar",
"directory": "/",
"filename": "server.jar"
}程式範例cURL / Node.js / Python
curl -X POST "${BASE_URL}/pull" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/server.jar",
"directory": "/",
"filename": "server.jar"
}'POST
/compress建立壓縮檔
將一或多個檔案封裝為壓縮檔。
REQUEST BODY
{ "root": "/", "files": ["world", "plugins"] }程式範例cURL / Node.js / Python
curl -X POST "${BASE_URL}/compress" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{ "root": "/", "files": ["world", "plugins"] }'POST
/decompress解壓縮檔案
將支援的封裝格式解壓至指定目錄。
REQUEST BODY
{ "root": "/", "file": "backup.zip" }程式範例cURL / Node.js / Python
curl -X POST "${BASE_URL}/decompress" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{ "root": "/", "file": "backup.zip" }'