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
(Ruby) 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
require 'chilkat' # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. http = Chilkat::CkHttp.new() # 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. http.put_Login("wp_username") # Use the application password, such as "Nths RwVH eDJ4 weNZ orMN jabq" http.put_Password("app_password") http.put_BasicAuth(true) req = Chilkat::CkHttpRequest.new() req.put_HttpVerb("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 req.put_ContentType("image/jpg") req.put_Path("/wp-json/wp/v2/media") success = req.LoadBodyFromFile("qa_data/jpg/starfish.jpg") if (success == false) print req.lastErrorText() + "\n"; exit end req.AddHeader("Content-Disposition","attachment; filename=starfish.jpg") req.AddHeader("Expect","100-continue") # resp is a CkHttpResponse resp = http.SynchronousRequest("www.yourserver.com",443,true,req) if (http.get_LastMethodSuccess() != true) print http.lastErrorText() + "\n"; exit end print "HTTP response status: " + resp.get_StatusCode().to_s() + "\n"; jsonResponse = Chilkat::CkJsonObject.new() jsonResponse.Load(resp.bodyStr()) jsonResponse.put_EmitCompact(false) print jsonResponse.emit() + "\n"; # 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 date_gmt = Chilkat::CkDtObj.new() id = jsonResponse.IntOf("id") date = jsonResponse.stringOf("date") jsonResponse.DtOf("date_gmt",false,date_gmt) guidRendered = jsonResponse.stringOf("guid.rendered") guidRaw = jsonResponse.stringOf("guid.raw") modified = jsonResponse.stringOf("modified") modified_gmt = jsonResponse.stringOf("modified_gmt") slug = jsonResponse.stringOf("slug") status = jsonResponse.stringOf("status") v_type = jsonResponse.stringOf("type") link = jsonResponse.stringOf("link") titleRaw = jsonResponse.stringOf("title.raw") titleRendered = jsonResponse.stringOf("title.rendered") author = jsonResponse.IntOf("author") comment_status = jsonResponse.stringOf("comment_status") ping_status = jsonResponse.stringOf("ping_status") template = jsonResponse.stringOf("template") permalink_template = jsonResponse.stringOf("permalink_template") generated_slug = jsonResponse.stringOf("generated_slug") descriptionRaw = jsonResponse.stringOf("description.raw") descriptionRendered = jsonResponse.stringOf("description.rendered") captionRaw = jsonResponse.stringOf("caption.raw") captionRendered = jsonResponse.stringOf("caption.rendered") alt_text = jsonResponse.stringOf("alt_text") media_type = jsonResponse.stringOf("media_type") mime_type = jsonResponse.stringOf("mime_type") media_detailsWidth = jsonResponse.IntOf("media_details.width") media_detailsHeight = jsonResponse.IntOf("media_details.height") media_detailsFile = jsonResponse.stringOf("media_details.file") media_detailsSizesWoocommerce_gallery_thumbnailFile = jsonResponse.stringOf("media_details.sizes.woocommerce_gallery_thumbnail.file") media_detailsSizesWoocommerce_gallery_thumbnailWidth = jsonResponse.IntOf("media_details.sizes.woocommerce_gallery_thumbnail.width") media_detailsSizesWoocommerce_gallery_thumbnailHeight = jsonResponse.IntOf("media_details.sizes.woocommerce_gallery_thumbnail.height") media_detailsSizesWoocommerce_gallery_thumbnailMime_type = jsonResponse.stringOf("media_details.sizes.woocommerce_gallery_thumbnail.mime_type") media_detailsSizesWoocommerce_gallery_thumbnailSource_url = jsonResponse.stringOf("media_details.sizes.woocommerce_gallery_thumbnail.source_url") media_detailsSizesShop_thumbnailFile = jsonResponse.stringOf("media_details.sizes.shop_thumbnail.file") media_detailsSizesShop_thumbnailWidth = jsonResponse.IntOf("media_details.sizes.shop_thumbnail.width") media_detailsSizesShop_thumbnailHeight = jsonResponse.IntOf("media_details.sizes.shop_thumbnail.height") media_detailsSizesShop_thumbnailMime_type = jsonResponse.stringOf("media_details.sizes.shop_thumbnail.mime_type") media_detailsSizesShop_thumbnailSource_url = jsonResponse.stringOf("media_details.sizes.shop_thumbnail.source_url") media_detailsSizesFullFile = jsonResponse.stringOf("media_details.sizes.full.file") media_detailsSizesFullWidth = jsonResponse.IntOf("media_details.sizes.full.width") media_detailsSizesFullHeight = jsonResponse.IntOf("media_details.sizes.full.height") media_detailsSizesFullMime_type = jsonResponse.stringOf("media_details.sizes.full.mime_type") media_detailsSizesFullSource_url = jsonResponse.stringOf("media_details.sizes.full.source_url") media_detailsImage_metaAperture = jsonResponse.stringOf("media_details.image_meta.aperture") media_detailsImage_metaCredit = jsonResponse.stringOf("media_details.image_meta.credit") media_detailsImage_metaCamera = jsonResponse.stringOf("media_details.image_meta.camera") media_detailsImage_metaCaption = jsonResponse.stringOf("media_details.image_meta.caption") media_detailsImage_metaCreated_timestamp = jsonResponse.stringOf("media_details.image_meta.created_timestamp") media_detailsImage_metaCopyright = jsonResponse.stringOf("media_details.image_meta.copyright") media_detailsImage_metaFocal_length = jsonResponse.stringOf("media_details.image_meta.focal_length") media_detailsImage_metaIso = jsonResponse.stringOf("media_details.image_meta.iso") media_detailsImage_metaShutter_speed = jsonResponse.stringOf("media_details.image_meta.shutter_speed") media_detailsImage_metaTitle = jsonResponse.stringOf("media_details.image_meta.title") media_detailsImage_metaOrientation = jsonResponse.stringOf("media_details.image_meta.orientation") post = jsonResponse.stringOf("post") source_url = jsonResponse.stringOf("source_url") i = 0 count_i = jsonResponse.SizeOfArray("meta") while i < count_i jsonResponse.put_I(i) i = i + 1 end i = 0 count_i = jsonResponse.SizeOfArray("media_details.image_meta.keywords") while i < count_i jsonResponse.put_I(i) i = i + 1 end i = 0 count_i = jsonResponse.SizeOfArray("missing_image_sizes") while i < count_i jsonResponse.put_I(i) i = i + 1 end i = 0 count_i = jsonResponse.SizeOfArray("_links.self") while i < count_i jsonResponse.put_I(i) href = jsonResponse.stringOf("_links.self[i].href") i = i + 1 end i = 0 count_i = jsonResponse.SizeOfArray("_links.collection") while i < count_i jsonResponse.put_I(i) href = jsonResponse.stringOf("_links.collection[i].href") i = i + 1 end i = 0 count_i = jsonResponse.SizeOfArray("_links.about") while i < count_i jsonResponse.put_I(i) href = jsonResponse.stringOf("_links.about[i].href") i = i + 1 end i = 0 count_i = jsonResponse.SizeOfArray("_links.author") while i < count_i jsonResponse.put_I(i) embeddable = jsonResponse.BoolOf("_links.author[i].embeddable") href = jsonResponse.stringOf("_links.author[i].href") i = i + 1 end i = 0 count_i = jsonResponse.SizeOfArray("_links.replies") while i < count_i jsonResponse.put_I(i) embeddable = jsonResponse.BoolOf("_links.replies[i].embeddable") href = jsonResponse.stringOf("_links.replies[i].href") i = i + 1 end i = 0 count_i = jsonResponse.SizeOfArray("_links.wp:action-unfiltered-html") while i < count_i jsonResponse.put_I(i) href = jsonResponse.stringOf("_links.wp:action-unfiltered-html[i].href") i = i + 1 end i = 0 count_i = jsonResponse.SizeOfArray("_links.wp:action-assign-author") while i < count_i jsonResponse.put_I(i) href = jsonResponse.stringOf("_links.wp:action-assign-author[i].href") i = i + 1 end i = 0 count_i = jsonResponse.SizeOfArray("_links.curies") while i < count_i jsonResponse.put_I(i) name = jsonResponse.stringOf("_links.curies[i].name") href = jsonResponse.stringOf("_links.curies[i].href") templated = jsonResponse.BoolOf("_links.curies[i].templated") i = i + 1 end |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.