這是一個包含了函數計算每種 Runtime 結合 HTTP Trigger 實現文件上傳和文件下載的示例集。每一個示例包括:php
咱們知道不一樣語言在處理 HTTP 協議上傳下載時都有不少中方法和社區庫,特別是結合函數計算的場景,開發人員每每須要耗費很多精力去學習和嘗試。本示例集編撰的目的就是節省開發者甄別的精力和時間,爲每種語言提供一種有效且符合社區最佳實踐的方法,能夠拿來即用。html
當前已支持的 Runtime 包括:java
計劃支持的 Runtime 包括:node
不打算支持的 Runtime 包括:python
因爲函數計算對於 HTTP 的 Request 和 Response 的 Body 大小限制均爲 6M,因此該示例集只適用於藉助函數計算上傳和下載文件小於 6M 的場景。對於大於 6M 的狀況,能夠考慮以下方法:git
在開始以前請確保開發環境已經安裝了以下工具:github
克隆代碼:docker
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 末尾加上一個/
。
查看更多:https://yq.aliyun.com/article..._content=g_1000103098
上雲就看雲棲號:更多雲資訊,上雲案例,最佳實踐,產品入門,訪問:https://yqh.aliyun.com/