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
(Tcl) WordPress Media UploadSee more WordPress ExamplesDemonstrates how to upload a media file to WordPress. For more information, see https://developer.wordpress.org/rest-api/reference/media/#create-a-media-item
load ./chilkat.dll # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set http [new_CkHttp] # This example will use WordPress username / Application password authentication using the "Applications Password" plugin. # See https://wordpress.org/plugins/application-passwords/ # Use your WordPress login, such as "admin", not the application name. CkHttp_put_Login $http "wp_username" # Use the application password, such as "Nths RwVH eDJ4 weNZ orMN jabq" CkHttp_put_Password $http "app_password" CkHttp_put_BasicAuth $http 1 set req [new_CkHttpRequest] CkHttpRequest_put_HttpVerb $req "POST" # Use the Content-Type that corresponds to the type of file you are uploading. # WordPress supports uploading the following file types: # Images # # .jpg (image/jpg) # .jpeg (image/jpeg) # .png (image/png) # .gif (image/gif) # .ico (image/x-icon) # # Documents # # .pdf (applicatin/pdf) # .doc, .docx (application/msword) # .ppt, .pptx, .pps, .ppsx (application/mspowerpoint) # .odt # .xls, .xlsx (application/msexcel) # .psd (??? image/vnd.adobe.photoshop,application/x-photoshop,application/photoshop,application/psd,image/psd) # # Audio # # .mp3 (audio/mpeg) # .m4a # .ogg # .wav (audio/wav) # # Video # # .mp4, .m4v (video/mp4) # .mov (video/quicktime) # .wmv (video/x-ms-wmv) # .avi (video/avi) # .mpg (video/mpeg) # .ogv # .3gp # .3g2 CkHttpRequest_put_ContentType $req "image/jpg" CkHttpRequest_put_Path $req "/wp-json/wp/v2/media" set success [CkHttpRequest_LoadBodyFromFile $req "qa_data/jpg/starfish.jpg"] if {$success == 0} then { puts [CkHttpRequest_lastErrorText $req] delete_CkHttp $http delete_CkHttpRequest $req exit } CkHttpRequest_AddHeader $req "Content-Disposition" "attachment; filename=starfish.jpg" CkHttpRequest_AddHeader $req "Expect" "100-continue" # resp is a CkHttpResponse set resp [CkHttp_SynchronousRequest $http "www.yourserver.com" 443 1 $req] if {[CkHttp_get_LastMethodSuccess $http] != 1} then { puts [CkHttp_lastErrorText $http] delete_CkHttp $http delete_CkHttpRequest $req exit } puts "HTTP response status: [CkHttpResponse_get_StatusCode $resp]" set jsonResponse [new_CkJsonObject] CkJsonObject_Load $jsonResponse [CkHttpResponse_bodyStr $resp] delete_CkHttpResponse $resp CkJsonObject_put_EmitCompact $jsonResponse 0 puts [CkJsonObject_emit $jsonResponse] # Sample JSON response: # (Sample code for parsing the JSON response is shown below) # { # "id": 1915, # "date": "2021-01-19T18:25:01", # "date_gmt": "2021-01-20T01:25:01", # "guid": { # "rendered": "http:\/\/cknotes.com\/wp-content\/uploads\/2021\/01\/starfish.jpg", # "raw": "http:\/\/cknotes.com\/wp-content\/uploads\/2021\/01\/starfish.jpg" # }, # "modified": "2021-01-19T18:25:01", # "modified_gmt": "2021-01-20T01:25:01", # "slug": "starfish", # "status": "inherit", # "type": "attachment", # "link": "https:\/\/cknotes.com\/starfish\/", # "title": { # "raw": "starfish", # "rendered": "starfish" # }, # "author": 1, # "comment_status": "closed", # "ping_status": "closed", # "template": "", # "meta": [ # ], # "permalink_template": "https:\/\/cknotes.com\/?attachment_id=1915", # "generated_slug": "starfish", # "description": { # "raw": "", # "rendered": "<p class=\"attachment\"><a href='https:\/\/cknotes.com\/wp-content\/uploads\/2021\/01\/starfish.jpg'><img width=\"120\" height=\"120\" src=\"https:\/\/cknotes.com\/wp-content\/uploads\/2021\/01\/starfish.jpg\" class=\"attachment-medium size-medium\" alt=\"\" loading=\"lazy\" srcset=\"http:\/\/cknotes.com\/wp-content\/uploads\/2021\/01\/starfish.jpg 120w, http:\/\/cknotes.com\/wp-content\/uploads\/2021\/01\/starfish-100x100.jpg 100w\" sizes=\"(max-width: 120px) 100vw, 120px\" \/><\/a><\/p>\n" # }, # "caption": { # "raw": "", # "rendered": "" # }, # "alt_text": "", # "media_type": "image", # "mime_type": "image\/jpeg", # "media_details": { # "width": 120, # "height": 120, # "file": "2021\/01\/starfish.jpg", # "sizes": { # "woocommerce_gallery_thumbnail": { # "file": "starfish-100x100.jpg", # "width": 100, # "height": 100, # "mime_type": "image\/jpeg", # "source_url": "https:\/\/cknotes.com\/wp-content\/uploads\/2021\/01\/starfish-100x100.jpg" # }, # "shop_thumbnail": { # "file": "starfish-100x100.jpg", # "width": 100, # "height": 100, # "mime_type": "image\/jpeg", # "source_url": "https:\/\/cknotes.com\/wp-content\/uploads\/2021\/01\/starfish-100x100.jpg" # }, # "full": { # "file": "starfish.jpg", # "width": 120, # "height": 120, # "mime_type": "image\/jpeg", # "source_url": "https:\/\/cknotes.com\/wp-content\/uploads\/2021\/01\/starfish.jpg" # } # }, # "image_meta": { # "aperture": "0", # "credit": "", # "camera": "", # "caption": "", # "created_timestamp": "0", # "copyright": "", # "focal_length": "0", # "iso": "0", # "shutter_speed": "0", # "title": "", # "orientation": "0", # "keywords": [ # ] # } # }, # "post": null, # "source_url": "https:\/\/cknotes.com\/wp-content\/uploads\/2021\/01\/starfish.jpg", # "missing_image_sizes": [ # ], # "_links": { # "self": [ # { # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/media\/1915" # } # ], # "collection": [ # { # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/media" # } # ], # "about": [ # { # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/types\/attachment" # } # ], # "author": [ # { # "embeddable": true, # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/users\/1" # } # ], # "replies": [ # { # "embeddable": true, # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/comments?post=1915" # } # ], # "wp:action-unfiltered-html": [ # { # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/media\/1915" # } # ], # "wp:action-assign-author": [ # { # "href": "https:\/\/cknotes.com\/wp-json\/wp\/v2\/media\/1915" # } # ], # "curies": [ # { # "name": "wp", # "href": "https:\/\/api.w.org\/{rel}", # "templated": true # } # ] # } # } # Sample code for parsing the JSON response... # Use the following online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON set date_gmt [new_CkDtObj] set id [CkJsonObject_IntOf $jsonResponse "id"] set date [CkJsonObject_stringOf $jsonResponse "date"] CkJsonObject_DtOf $jsonResponse "date_gmt" 0 $date_gmt set guidRendered [CkJsonObject_stringOf $jsonResponse "guid.rendered"] set guidRaw [CkJsonObject_stringOf $jsonResponse "guid.raw"] set modified [CkJsonObject_stringOf $jsonResponse "modified"] set modified_gmt [CkJsonObject_stringOf $jsonResponse "modified_gmt"] set slug [CkJsonObject_stringOf $jsonResponse "slug"] set status [CkJsonObject_stringOf $jsonResponse "status"] set v_type [CkJsonObject_stringOf $jsonResponse "type"] set link [CkJsonObject_stringOf $jsonResponse "link"] set titleRaw [CkJsonObject_stringOf $jsonResponse "title.raw"] set titleRendered [CkJsonObject_stringOf $jsonResponse "title.rendered"] set author [CkJsonObject_IntOf $jsonResponse "author"] set comment_status [CkJsonObject_stringOf $jsonResponse "comment_status"] set ping_status [CkJsonObject_stringOf $jsonResponse "ping_status"] set template [CkJsonObject_stringOf $jsonResponse "template"] set permalink_template [CkJsonObject_stringOf $jsonResponse "permalink_template"] set generated_slug [CkJsonObject_stringOf $jsonResponse "generated_slug"] set descriptionRaw [CkJsonObject_stringOf $jsonResponse "description.raw"] set descriptionRendered [CkJsonObject_stringOf $jsonResponse "description.rendered"] set captionRaw [CkJsonObject_stringOf $jsonResponse "caption.raw"] set captionRendered [CkJsonObject_stringOf $jsonResponse "caption.rendered"] set alt_text [CkJsonObject_stringOf $jsonResponse "alt_text"] set media_type [CkJsonObject_stringOf $jsonResponse "media_type"] set mime_type [CkJsonObject_stringOf $jsonResponse "mime_type"] set media_detailsWidth [CkJsonObject_IntOf $jsonResponse "media_details.width"] set media_detailsHeight [CkJsonObject_IntOf $jsonResponse "media_details.height"] set media_detailsFile [CkJsonObject_stringOf $jsonResponse "media_details.file"] set media_detailsSizesWoocommerce_gallery_thumbnailFile [CkJsonObject_stringOf $jsonResponse "media_details.sizes.woocommerce_gallery_thumbnail.file"] set media_detailsSizesWoocommerce_gallery_thumbnailWidth [CkJsonObject_IntOf $jsonResponse "media_details.sizes.woocommerce_gallery_thumbnail.width"] set media_detailsSizesWoocommerce_gallery_thumbnailHeight [CkJsonObject_IntOf $jsonResponse "media_details.sizes.woocommerce_gallery_thumbnail.height"] set media_detailsSizesWoocommerce_gallery_thumbnailMime_type [CkJsonObject_stringOf $jsonResponse "media_details.sizes.woocommerce_gallery_thumbnail.mime_type"] set media_detailsSizesWoocommerce_gallery_thumbnailSource_url [CkJsonObject_stringOf $jsonResponse "media_details.sizes.woocommerce_gallery_thumbnail.source_url"] set media_detailsSizesShop_thumbnailFile [CkJsonObject_stringOf $jsonResponse "media_details.sizes.shop_thumbnail.file"] set media_detailsSizesShop_thumbnailWidth [CkJsonObject_IntOf $jsonResponse "media_details.sizes.shop_thumbnail.width"] set media_detailsSizesShop_thumbnailHeight [CkJsonObject_IntOf $jsonResponse "media_details.sizes.shop_thumbnail.height"] set media_detailsSizesShop_thumbnailMime_type [CkJsonObject_stringOf $jsonResponse "media_details.sizes.shop_thumbnail.mime_type"] set media_detailsSizesShop_thumbnailSource_url [CkJsonObject_stringOf $jsonResponse "media_details.sizes.shop_thumbnail.source_url"] set media_detailsSizesFullFile [CkJsonObject_stringOf $jsonResponse "media_details.sizes.full.file"] set media_detailsSizesFullWidth [CkJsonObject_IntOf $jsonResponse "media_details.sizes.full.width"] set media_detailsSizesFullHeight [CkJsonObject_IntOf $jsonResponse "media_details.sizes.full.height"] set media_detailsSizesFullMime_type [CkJsonObject_stringOf $jsonResponse "media_details.sizes.full.mime_type"] set media_detailsSizesFullSource_url [CkJsonObject_stringOf $jsonResponse "media_details.sizes.full.source_url"] set media_detailsImage_metaAperture [CkJsonObject_stringOf $jsonResponse "media_details.image_meta.aperture"] set media_detailsImage_metaCredit [CkJsonObject_stringOf $jsonResponse "media_details.image_meta.credit"] set media_detailsImage_metaCamera [CkJsonObject_stringOf $jsonResponse "media_details.image_meta.camera"] set media_detailsImage_metaCaption [CkJsonObject_stringOf $jsonResponse "media_details.image_meta.caption"] set media_detailsImage_metaCreated_timestamp [CkJsonObject_stringOf $jsonResponse "media_details.image_meta.created_timestamp"] set media_detailsImage_metaCopyright [CkJsonObject_stringOf $jsonResponse "media_details.image_meta.copyright"] set media_detailsImage_metaFocal_length [CkJsonObject_stringOf $jsonResponse "media_details.image_meta.focal_length"] set media_detailsImage_metaIso [CkJsonObject_stringOf $jsonResponse "media_details.image_meta.iso"] set media_detailsImage_metaShutter_speed [CkJsonObject_stringOf $jsonResponse "media_details.image_meta.shutter_speed"] set media_detailsImage_metaTitle [CkJsonObject_stringOf $jsonResponse "media_details.image_meta.title"] set media_detailsImage_metaOrientation [CkJsonObject_stringOf $jsonResponse "media_details.image_meta.orientation"] set post [CkJsonObject_stringOf $jsonResponse "post"] set source_url [CkJsonObject_stringOf $jsonResponse "source_url"] set i 0 set count_i [CkJsonObject_SizeOfArray $jsonResponse "meta"] while {$i < $count_i} { CkJsonObject_put_I $jsonResponse $i set i [expr $i + 1] } set i 0 set count_i [CkJsonObject_SizeOfArray $jsonResponse "media_details.image_meta.keywords"] while {$i < $count_i} { CkJsonObject_put_I $jsonResponse $i set i [expr $i + 1] } set i 0 set count_i [CkJsonObject_SizeOfArray $jsonResponse "missing_image_sizes"] while {$i < $count_i} { CkJsonObject_put_I $jsonResponse $i set i [expr $i + 1] } set i 0 set count_i [CkJsonObject_SizeOfArray $jsonResponse "_links.self"] while {$i < $count_i} { CkJsonObject_put_I $jsonResponse $i set href [CkJsonObject_stringOf $jsonResponse "_links.self[i].href"] set i [expr $i + 1] } set i 0 set count_i [CkJsonObject_SizeOfArray $jsonResponse "_links.collection"] while {$i < $count_i} { CkJsonObject_put_I $jsonResponse $i set href [CkJsonObject_stringOf $jsonResponse "_links.collection[i].href"] set i [expr $i + 1] } set i 0 set count_i [CkJsonObject_SizeOfArray $jsonResponse "_links.about"] while {$i < $count_i} { CkJsonObject_put_I $jsonResponse $i set href [CkJsonObject_stringOf $jsonResponse "_links.about[i].href"] set i [expr $i + 1] } set i 0 set count_i [CkJsonObject_SizeOfArray $jsonResponse "_links.author"] while {$i < $count_i} { CkJsonObject_put_I $jsonResponse $i set embeddable [CkJsonObject_BoolOf $jsonResponse "_links.author[i].embeddable"] set href [CkJsonObject_stringOf $jsonResponse "_links.author[i].href"] set i [expr $i + 1] } set i 0 set count_i [CkJsonObject_SizeOfArray $jsonResponse "_links.replies"] while {$i < $count_i} { CkJsonObject_put_I $jsonResponse $i set embeddable [CkJsonObject_BoolOf $jsonResponse "_links.replies[i].embeddable"] set href [CkJsonObject_stringOf $jsonResponse "_links.replies[i].href"] set i [expr $i + 1] } set i 0 set count_i [CkJsonObject_SizeOfArray $jsonResponse "_links.wp:action-unfiltered-html"] while {$i < $count_i} { CkJsonObject_put_I $jsonResponse $i set href [CkJsonObject_stringOf $jsonResponse "_links.wp:action-unfiltered-html[i].href"] set i [expr $i + 1] } set i 0 set count_i [CkJsonObject_SizeOfArray $jsonResponse "_links.wp:action-assign-author"] while {$i < $count_i} { CkJsonObject_put_I $jsonResponse $i set href [CkJsonObject_stringOf $jsonResponse "_links.wp:action-assign-author[i].href"] set i [expr $i + 1] } set i 0 set count_i [CkJsonObject_SizeOfArray $jsonResponse "_links.curies"] while {$i < $count_i} { CkJsonObject_put_I $jsonResponse $i set name [CkJsonObject_stringOf $jsonResponse "_links.curies[i].name"] set href [CkJsonObject_stringOf $jsonResponse "_links.curies[i].href"] set templated [CkJsonObject_BoolOf $jsonResponse "_links.curies[i].templated"] set i [expr $i + 1] } delete_CkHttp $http delete_CkHttpRequest $req delete_CkJsonObject $jsonResponse delete_CkDtObj $date_gmt |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.