亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

輕松實現函數計算文件上傳下載

發布時間:2020-02-14 11:09:35 來源:網絡 閱讀:195 作者:阿里系統軟件技術 欄目:云計算

這是一個包含了函數計算每種 Runtime 結合 HTTP Trigger 實現文件上傳和文件下載的示例集。每個示例包括:

  • 一個公共 HTML 頁面,該頁面有一個文件選擇框和上傳按鈕,會列出已經上傳的文件,點擊某個已上傳的文件可以把文件下載下來;
  • 支持文件上傳、下載和列舉的函數。

我們知道不同語言在處理 HTTP 協議上傳下載時都有很多中方法和社區庫,特別是結合函數計算的場景,開發人員往往需要耗費不少精力去學習和嘗試。本示例集編撰的目的就是節省開發者甄別的精力和時間,為每種語言提供一種有效且符合社區最佳實踐的方法,可以拿來即用。

輕松實現函數計算文件上傳下載

當前已支持的 Runtime 包括:

  • nodejs
  • python
  • php
  • java

計劃支持的 Runtime 包括:

  • dotnetcore

不打算支持的 Runtime 包括:

  • custom

使用限制

由于函數計算對于 HTTP 的 Request 和 Response 的 Body 大小限制均為 6M,所以該示例集只適用于借助函數計算上傳和下載文件小于 6M 的場景。對于大于 6M 的情況,可以考慮如下方法:

  1. 分片上傳,把文件切分成小塊,上傳以后再拼接起來;
  2. 借助于 OSS,將文件先上傳 OSS,函數從 OSS 上下載文件,處理完以后回傳 OSS;
  3. 借助于 NAS,將大文件放在 NAS 網盤上,函數可以像讀寫普通文件系統一樣訪問 NAS 網盤的文件。

快速開始

安裝依賴

在開始之前請確保開發環境已經安裝了如下工具:

  • docker
  • funcraft
  • git
  • make

構建并啟動函數

克隆代碼:

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 /uploadmultipart/form-data格式上傳文件
    • fileContent 作為文件字段
    • fileName 作為文件名字段
  • GET /download?filename=xxxapplication/octet-stream 格式返回文件內容。

此外為了能正確的計算相對路徑,在訪問根路徑時如果不是以/結尾,都會觸發一個 301 跳轉,在 URL 末尾加上一個/

不同語言的示例代碼

  • nodejs
  • python
  • php
  • java

已知問題

  1. 文件大小限制
  2. fun local 實現存在已知問題,上傳過大的文件會自動退出,未來的版本會修復。
  3. 部署到線上需要綁定自定義域名才能使用,否則 HTML 文件在瀏覽器中會被強制下載而不是直接渲染。

“阿里巴巴云原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦云原生流行技術趨勢、云原生大規模的落地實踐,做最懂云原生開發者的技術圈。”

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荔浦县| 长乐市| 望都县| 吉水县| 龙江县| 保亭| 衡东县| 桂东县| 青浦区| 平昌县| 河曲县| 云梦县| 伽师县| 金寨县| 常宁市| 会理县| 江川县| 木里| 绥德县| 林周县| 威海市| 密山市| 七台河市| 隆化县| 二手房| 视频| 乌什县| 城口县| 清流县| 云林县| 潞西市| 瑞金市| 大厂| 翁源县| 怀远县| 岚皋县| 襄樊市| 屏边| 惠东县| 武威市| 买车|