您好,登錄后才能下訂單哦!
這是一個包含了函數計算每種 Runtime 結合 HTTP Trigger 實現文件上傳和文件下載的示例集。每個示例包括:
我們知道不同語言在處理 HTTP 協議上傳下載時都有很多中方法和社區庫,特別是結合函數計算的場景,開發人員往往需要耗費不少精力去學習和嘗試。本示例集編撰的目的就是節省開發者甄別的精力和時間,為每種語言提供一種有效且符合社區最佳實踐的方法,可以拿來即用。
當前已支持的 Runtime 包括:
計劃支持的 Runtime 包括:
不打算支持的 Runtime 包括:
由于函數計算對于 HTTP 的 Request 和 Response 的 Body 大小限制均為 6M,所以該示例集只適用于借助函數計算上傳和下載文件小于 6M 的場景。對于大于 6M 的情況,可以考慮如下方法:
在開始之前請確保開發環境已經安裝了如下工具:
克隆代碼:
git clone https://github.com/vangie/fc-file-transfer
本地啟動函數:
$ make start
...
HttpTrigger httpTrigger of file-transfer/nodejs was registered
url: http://localhost:8000/2016-08-15/proxy/file-transfer/nodejs
methods: [ 'GET', 'POST' ]
authType: ANONYMOUS
HttpTrigger httpTrigger of file-transfer/python was registered
url: http://localhost:8000/2016-08-15/proxy/file-transfer/python
methods: [ 'GET', 'POST' ]
authType: ANONYMOUS
HttpTrigger httpTrigger of file-transfer/java was registered
url: http://localhost:8000/2016-08-15/proxy/file-transfer/java
methods: [ 'GET', 'POST' ]
authType: ANONYMOUS
HttpTrigger httpTrigger of file-transfer/php was registered
url: http://localhost:8000/2016-08-15/proxy/file-transfer/php
methods: [ 'GET', 'POST' ]
authType: ANONYMOUS
function compute app listening on port 8000!
make start
命令會調用 Makefile 文件中的指令,通過 fun local
在本地的 8000 端口開放 HTTP 服務,控制臺會打印出每個 HTTP Trigger 的 URL 、支持的 HTTP 方法,以及認證方式。
上面四個 URL 地址隨便選一個在瀏覽器中打開示例頁面。
所有示例都實現了下述四個 HTTP 接口:
GET /
返回文件上傳 Form 的 HTML 頁面GET /list
以 JSON 數組形式返回文件列表POST /upload
以multipart/form-data
格式上傳文件
fileContent
作為文件字段fileName
作為文件名字段GET /download?filename=xxx
以 application/octet-stream
格式返回文件內容。此外為了能正確的計算相對路徑,在訪問根路徑時如果不是以/
結尾,都會觸發一個 301 跳轉,在 URL 末尾加上一個/
。
“阿里巴巴云原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦云原生流行技術趨勢、云原生大規模的落地實踐,做最懂云原生開發者的技術圈。”
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。