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
(Perl) 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
use 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(1); $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 == 0) { print $req->lastErrorText() . "\r\n"; exit; } $req->AddHeader("Content-Disposition","attachment; filename=starfish.jpg"); $req->AddHeader("Expect","100-continue"); # resp is a HttpResponse $resp = $http->SynchronousRequest("www.yourserver.com",443,1,$req); if ($http->get_LastMethodSuccess() != 1) { print $http->lastErrorText() . "\r\n"; exit; } print "HTTP response status: " . $resp->get_StatusCode() . "\r\n"; $jsonResponse = chilkat::CkJsonObject->new(); $jsonResponse->Load($resp->bodyStr()); $jsonResponse->put_EmitCompact(0); print $jsonResponse->emit() . "\r\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",0,$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; } $i = 0; $count_i = $jsonResponse->SizeOfArray("media_details.image_meta.keywords"); while ($i < $count_i) { $jsonResponse->put_I($i); $i = $i + 1; } $i = 0; $count_i = $jsonResponse->SizeOfArray("missing_image_sizes"); while ($i < $count_i) { $jsonResponse->put_I($i); $i = $i + 1; } $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; } $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; } $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; } $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; } $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; } $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; } $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; } $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; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.