{"id":24523,"date":"2022-07-07T07:45:00","date_gmt":"2022-07-07T14:45:00","guid":{"rendered":"https:\/\/cloudinary.com\/blog\/?p=24523"},"modified":"2024-08-21T18:42:54","modified_gmt":"2024-08-22T01:42:54","slug":"laravel-cloudinary-v2-release-update","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update","title":{"rendered":"Laravel Cloudinary v2 Release Update"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>Version 2 of the <a href=\"https:\/\/github.com\/cloudinary-labs\/cloudinary-laravel\">Laravel Cloudinary package<\/a> was recently tagged and released.<\/p>\n<p>The <strong>Laravel Cloudinary<\/strong> package is an SDK that empowers Laravel developers with the ability to fluently upload, optimize, store, transform and deliver media files with Cloudinary. It also provides an API to easily attach your media files to Laravel Eloquent models.<\/p>\n<p>Here\u2019s a highlight of the changes that shipped with <strong>Laravel Cloudinary v2<\/strong>:<\/p>\n<ol>\n<li>Full support for Laravel 9.<\/li>\n<li>A rewrite of the <a href=\"https:\/\/github.com\/cloudinary-labs\/cloudinary-laravel\/blob\/master\/src\/CloudinaryAdapter.php\">Cloudinary Adapter<\/a> to work with <a href=\"https:\/\/github.com\/thephpleague\/flysystem\">Flysystem v3<\/a>.<\/li>\n<li>Removal of deprecated methods to be compliant with <a href=\"https:\/\/github.com\/thephpleague\/flysystem\">Flystem v3<\/a>.<\/li>\n<\/ol>\n<h2>A Recap of Laravel Cloudinary features:<\/h2>\n<h3>1. File Uploads via a frontend Upload Widget<\/h3>\n<p>Using the <code>x-cld-upload-button<\/code> Blade upload button component:<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml shcb-wrap-lines\"><span class=\"hljs-meta\">&lt;!DOCTYPE <span class=\"hljs-meta-keyword\">html<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">html<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">head<\/span>&gt;<\/span>\n        ...\n        @cloudinaryJS\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">head<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">body<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">x-cld-upload-button<\/span>&gt;<\/span>\n            Upload Files\n        <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">x-cld-upload-button<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">body<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">html<\/span>&gt;<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<h3>2. File Uploads via the Controller or a Service Class<\/h3>\n<p><strong>Using the Cloudinary Facade<\/strong><\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php shcb-wrap-lines\"><span class=\"hljs-comment\">\/\/ Upload an Image File to Cloudinary with One line of Code<\/span>\n$uploadedFileUrl = Cloudinary::upload($request-&gt;file(<span class=\"hljs-string\">'file'<\/span>)-&gt;getRealPath())-&gt;getSecurePath();\n\n<span class=\"hljs-comment\">\/\/ Upload a Video File to Cloudinary with One line of Code<\/span>\n$uploadedFileUrl = Cloudinary::uploadVideo($request-&gt;file(<span class=\"hljs-string\">'file'<\/span>)-&gt;getRealPath())-&gt;getSecurePath();\n\n<span class=\"hljs-comment\">\/\/ Upload any File to Cloudinary with One line of Code<\/span>\n$uploadedFileUrl = Cloudinary::uploadFile($request-&gt;file(<span class=\"hljs-string\">'file'<\/span>)-&gt;getRealPath())-&gt;getSecurePath();\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p><strong>Using the cloudinary() helper function:<\/strong><\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php shcb-wrap-lines\"><span class=\"hljs-comment\">\/\/ Upload an image file to cloudinary with one line of code<\/span>\n$uploadedFileUrl = cloudinary()-&gt;upload($request-&gt;file(<span class=\"hljs-string\">'file'<\/span>)-&gt;getRealPath())-&gt;getSecurePath();\n\n<span class=\"hljs-comment\">\/\/ Upload a video file to cloudinary with one line of code<\/span>\n$uploadedFileUrl = cloudinary()-&gt;uploadVideo($request-&gt;file(<span class=\"hljs-string\">'file'<\/span>)-&gt;getRealPath())-&gt;getSecurePath();\n\n<span class=\"hljs-comment\">\/\/ Upload any file  to cloudinary with one line of code<\/span>\n$uploadedFileUrl = cloudinary()-&gt;uploadFile($request-&gt;file(<span class=\"hljs-string\">'file'<\/span>)-&gt;getRealPath())-&gt;getSecurePath();\n\n<span class=\"hljs-comment\">\/\/ Upload an existing remote file to Cloudinary with one line of code<\/span>\n$uploadedFileUrl = cloudinary()-&gt;uploadFile($remoteFileUrl)-&gt;getSecurePath();\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p><strong>Using the $request object directly like so:<\/strong><\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php shcb-wrap-lines\"><span class=\"hljs-comment\">\/\/ Store the uploaded file on Cloudinary<\/span>\n$result = $request-&gt;file(<span class=\"hljs-string\">'file'<\/span>)-&gt;storeOnCloudinary();\n\n<span class=\"hljs-comment\">\/\/ Store the uploaded file on Cloudinary<\/span>\n$result = $request-&gt;file-&gt;storeOnCloudinary();\n\n<span class=\"hljs-comment\">\/\/ Store the uploaded file in the \"lambogini\" directory on Cloudinary<\/span>\n$result = $request-&gt;file-&gt;storeOnCloudinary(<span class=\"hljs-string\">'lambogini'<\/span>);\n\n<span class=\"hljs-comment\">\/\/ Store the uploaded file in the \"lambogini\" directory on Cloudinary with the filename \"prosper\"<\/span>\n$result = $request-&gt;file-&gt;storeOnCloudinaryAs(<span class=\"hljs-string\">'lambogini'<\/span>, <span class=\"hljs-string\">'prosper'<\/span>);\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<h3>3. Display Uploaded Files<\/h3>\n<p>Displaying a file using the public id (otherwise known as stored name).<\/p>\n<p>For instance, if a file was uploaded and stored as <strong><em>themagician<\/em><\/strong>, then the <em>public id<\/em> is <strong>themagician<\/strong>.<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php shcb-wrap-lines\">$url = cloudinary()-&gt;getUrl($publicId);\n\n<span class=\"hljs-comment\">\/\/ get url from a file<\/span>\n$url = Cloudinary::getUrl($publicId);\n\n<span class=\"hljs-comment\">\/\/ Blade Image Component for displaying images<\/span>\n&lt;x-cld-image <span class=\"hljs-keyword\">public<\/span>-id=<span class=\"hljs-string\">\"prosper\"<\/span> width=<span class=\"hljs-string\">\"300\"<\/span> height=<span class=\"hljs-string\">\"300\"<\/span>&gt;&lt;\/x-cld-image&gt; \n\n<span class=\"hljs-comment\">\/\/ Blade Video Component for displaying videos<\/span>\n&lt;x-cld-video <span class=\"hljs-keyword\">public<\/span>-id=<span class=\"hljs-string\">\"awesome\"<\/span>&gt;&lt;\/x-cld-video&gt; \n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<h3>4. Attach Files to Eloquent Models<\/h3>\n<p>Please head over to the <a href=\"https:\/\/github.com\/cloudinary-labs\/cloudinary-laravel#attach-files-to-laravel-eloquent-models\">package\u2019s documentation<\/a> to read more about how it attaches uploaded files to Laravel Eloquent models.<\/p>\n<h2>Conclusion<\/h2>\n<p>If you\u2019re building apps with Laravel, this package can handle everything media related in your project!<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":54,"featured_media":24546,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-24523","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Laravel Cloudinary v2 Release Update<\/title>\n<meta name=\"description\" content=\"The Laravel Cloudinary package is an SDK that empowers developers with the ability to fluently upload, optimize, store, transform and deliver media files.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Laravel Cloudinary v2 Release Update\" \/>\n<meta property=\"og:description\" content=\"The Laravel Cloudinary package is an SDK that empowers developers with the ability to fluently upload, optimize, store, transform and deliver media files.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-07T14:45:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-22T01:42:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1657148451\/Cld_Blog_FeatImg_July2k22_Laravel-v2\/Cld_Blog_FeatImg_July2k22_Laravel-v2-png?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1100\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Laravel Cloudinary v2 Release Update\",\"datePublished\":\"2022-07-07T14:45:00+00:00\",\"dateModified\":\"2024-08-22T01:42:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update\"},\"wordCount\":5,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1657148451\/Cld_Blog_FeatImg_July2k22_Laravel-v2\/Cld_Blog_FeatImg_July2k22_Laravel-v2.png?_i=AA\",\"inLanguage\":\"en-US\",\"copyrightYear\":\"2022\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update\",\"url\":\"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update\",\"name\":\"Laravel Cloudinary v2 Release Update\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1657148451\/Cld_Blog_FeatImg_July2k22_Laravel-v2\/Cld_Blog_FeatImg_July2k22_Laravel-v2.png?_i=AA\",\"datePublished\":\"2022-07-07T14:45:00+00:00\",\"dateModified\":\"2024-08-22T01:42:54+00:00\",\"description\":\"The Laravel Cloudinary package is an SDK that empowers developers with the ability to fluently upload, optimize, store, transform and deliver media files.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1657148451\/Cld_Blog_FeatImg_July2k22_Laravel-v2\/Cld_Blog_FeatImg_July2k22_Laravel-v2.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1657148451\/Cld_Blog_FeatImg_July2k22_Laravel-v2\/Cld_Blog_FeatImg_July2k22_Laravel-v2.png?_i=AA\",\"width\":2000,\"height\":1100},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel Cloudinary v2 Release Update\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Laravel Cloudinary v2 Release Update","description":"The Laravel Cloudinary package is an SDK that empowers developers with the ability to fluently upload, optimize, store, transform and deliver media files.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update","og_locale":"en_US","og_type":"article","og_title":"Laravel Cloudinary v2 Release Update","og_description":"The Laravel Cloudinary package is an SDK that empowers developers with the ability to fluently upload, optimize, store, transform and deliver media files.","og_url":"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update","og_site_name":"Cloudinary Blog","article_published_time":"2022-07-07T14:45:00+00:00","article_modified_time":"2024-08-22T01:42:54+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1657148451\/Cld_Blog_FeatImg_July2k22_Laravel-v2\/Cld_Blog_FeatImg_July2k22_Laravel-v2-png?_i=AA","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update"},"author":{"name":"","@id":""},"headline":"Laravel Cloudinary v2 Release Update","datePublished":"2022-07-07T14:45:00+00:00","dateModified":"2024-08-22T01:42:54+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update"},"wordCount":5,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1657148451\/Cld_Blog_FeatImg_July2k22_Laravel-v2\/Cld_Blog_FeatImg_July2k22_Laravel-v2.png?_i=AA","inLanguage":"en-US","copyrightYear":"2022","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update","url":"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update","name":"Laravel Cloudinary v2 Release Update","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1657148451\/Cld_Blog_FeatImg_July2k22_Laravel-v2\/Cld_Blog_FeatImg_July2k22_Laravel-v2.png?_i=AA","datePublished":"2022-07-07T14:45:00+00:00","dateModified":"2024-08-22T01:42:54+00:00","description":"The Laravel Cloudinary package is an SDK that empowers developers with the ability to fluently upload, optimize, store, transform and deliver media files.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1657148451\/Cld_Blog_FeatImg_July2k22_Laravel-v2\/Cld_Blog_FeatImg_July2k22_Laravel-v2.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1657148451\/Cld_Blog_FeatImg_July2k22_Laravel-v2\/Cld_Blog_FeatImg_July2k22_Laravel-v2.png?_i=AA","width":2000,"height":1100},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/laravel-cloudinary-v2-release-update#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Laravel Cloudinary v2 Release Update"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":""}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1657148451\/Cld_Blog_FeatImg_July2k22_Laravel-v2\/Cld_Blog_FeatImg_July2k22_Laravel-v2.png?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/24523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/54"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=24523"}],"version-history":[{"count":15,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/24523\/revisions"}],"predecessor-version":[{"id":35417,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/24523\/revisions\/35417"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/24546"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=24523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=24523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=24523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}