---
title: "SFTP"
description: "EMILY.RPA SFTP 模組：連線至指定的 FTP/SFTP 伺服器上傳或下載檔案。"
source: https://docs.emily.tips/wap/sftp
---

# SFTP

連線至指定的 FTP/SFTP 伺服器上傳或下載檔案。

![](https://docs.emily.tips/img/zh/wap-211.png)

## 參數

**`TYPE`** - 傳輸協議，支援 `SFTP`、`FTP/TLS`、`FTP`。

**`HOST`** - FTP/SFTP 主機，可以為 IP address 或主機網域名稱。

**`PORT`** - SFTP 或 FTP 主機埠號。

**`USERNAME`** - 使用者帳號名稱。

**`PASSWORD`** - 使用者帳號密碼。

## No-Code 指令

提供：「**下載檔案**」、「**上傳檔案**」等無程式碼指令。例如，從參數指定的 SFTP 伺服器上下載一個檔案。

![](https://docs.emily.tips/img/zh/wap-212.png)

## Low-Code 腳本

![](https://docs.emily.tips/img/zh/wap-213.png)

### api 物件

除了提供同步函式：api.files(), api.read(filename, encoding='utf8'), api.write(filename, text), api.rename(oldname, newname), api.remove(filename) 存取工作資料夾內的檔案；另外提供 ftp 物件與相關非同步函式 api.ftp.list(path), api.ftp.get(path, filename), api.ftp.put(filename, path), api.ftp.mkdir(path), api.ftp.rename(path, newpath), api.ftp.remove(path) 如下：

```javascript
// 列出伺服器根目錄中的檔案或子資料夾
let entries = await api.ftp.list('/')
console.log(entries)

// 下載伺服器中路徑為 /download/test.png 的檔案到工作資料夾，並命名為 file1.png
await api.ftp.get('/download/test.png', 'file1.png')

// 更換在伺服器路徑為 /download/test.png 的檔名
await api.ftp.rename('/download/test.png', '/download/testnew.png')

// 上傳工作資料夾中 file2.pdf 檔案到伺服器的路徑 /upload/file2.pdf
await api.ftp.put('file2.pdf', '/upload/file2.pdf')

// 在伺服器路徑為 /upload/temp 建立子資料夾
await api.ftp.mkdir('/upload/temp')

// 刪除在伺服器路徑為 /upload/file2.pdf 的檔案
await api.ftp.remove('/upload/file2.pdf')
```
