Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Classic ASP) Frame.io - Upload an AssetUpload an asset to Frame.io For more information, see https://docs.frame.io/docs/uploading-assets
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% ' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Http") set http = Server.CreateObject("Chilkat.Http") ' Implements the following CURL command: ' curl --request POST \ ' --url https://api.frame.io/v2/assets/<ASSET_ID>/children \ ' --header 'authorization: Bearer <FRAME_IO_DEV_TOKEN>' \ ' --header 'content-type: application/json' \ ' --data '{"filesize":1570024 ,"filetype":"video/mp4","name":"rotating_earth","type":"file"}' ' Use the following online tool to generate HTTP code from a CURL command ' Convert a cURL Command to HTTP Source Code ' Use this online tool to generate code from sample JSON: ' Generate Code to Create JSON ' The following JSON is sent in the request body. ' { ' "filesize": 1570024, ' "filetype": "video/mp4", ' "name": "rotating_earth", ' "type": "file" ' } localFilePath = "qa_data/mp4/rotating_earth.mp4" ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.FileAccess") set fac = Server.CreateObject("Chilkat.FileAccess") fileSize = fac.FileSize(localFilePath) ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set json = Server.CreateObject("Chilkat.JsonObject") success = json.UpdateInt("filesize",fileSize) success = json.UpdateString("filetype","video/mp4") success = json.UpdateString("name","rotating_earth7") success = json.UpdateString("type","file") http.SetRequestHeader "content-type","application/json" ' Adds the "Authorization: Bearer <FRAME_IO_DEV_TOKEN>" header. http.AuthToken = "<FRAME_IO_DEV_TOKEN>" ' Uploading to asset ID: 039845e8-bffe-4d6b-88d3-c780bae06342 ' resp is a Chilkat.HttpResponse Set resp = http.PostJson3("https://api.frame.io/v2/assets/039845e8-bffe-4d6b-88d3-c780bae06342/children","application/json",json) If (http.LastMethodSuccess = 0) Then Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>" Response.End End If ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.StringBuilder") set sbResponseBody = Server.CreateObject("Chilkat.StringBuilder") success = resp.GetBodySb(sbResponseBody) ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set jResp = Server.CreateObject("Chilkat.JsonObject") success = jResp.LoadSb(sbResponseBody) jResp.EmitCompact = 0 Response.Write "<pre>" & Server.HTMLEncode( "Response Body:") & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( jResp.Emit()) & "</pre>" respStatusCode = resp.StatusCode Response.Write "<pre>" & Server.HTMLEncode( "Response Status Code = " & respStatusCode) & "</pre>" If (respStatusCode >= 400) Then Response.Write "<pre>" & Server.HTMLEncode( "Response Header:") & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( resp.Header) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( "Failed.") & "</pre>" Response.End End If ' Upload in chunks to the pre-signed S3 upload URLs. ' There are ways to do this in parallel, but for simplicity we'll show how to upload ' one chunk after another. numChunks = jResp.SizeOfArray("upload_urls") sizePerChunk = (fileSize + numChunks - 1) / numChunks Response.Write "<pre>" & Server.HTMLEncode( "numChunks = " & numChunks) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( "sizePerChunk = " & sizePerChunk) & "</pre>" success = fac.OpenForRead(localFilePath) If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( fac.LastErrorText) & "</pre>" Response.End End If ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.BinData") set bd = Server.CreateObject("Chilkat.BinData") ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Http") set httpForUpload = Server.CreateObject("Chilkat.Http") httpForUpload.SetRequestHeader "x-amz-acl","private" i = 0 Do While (i < numChunks) success = bd.Clear() success = fac.ReadBlockBd(i,sizePerChunk,bd) jResp.I = i uploadUrl = jResp.StringOf("upload_urls[i]") ' Send the chunk in a PUT: Response.Write "<pre>" & Server.HTMLEncode( "PUT chunk " & i + 1) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( "URL: " & uploadUrl) & "</pre>" ' PUT https://frameio-uploads-production.s3/etc/etc ' Content-Type: video/mp4 ' x-amz-acl: private ' resp is a Chilkat.HttpResponse Set resp = httpForUpload.PBinaryBd("PUT",uploadUrl,bd,"video/mp4",0,0) If (httpForUpload.LastMethodSuccess = 0) Then Response.Write "<pre>" & Server.HTMLEncode( httpForUpload.LastErrorText) & "</pre>" Response.End End If Response.Write "<pre>" & Server.HTMLEncode( "response status: " & resp.StatusCode) & "</pre>" i = i + 1 Loop fac.FileClose Response.Write "<pre>" & Server.HTMLEncode( "File uploaded.") & "</pre>" %> </body> </html> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.