{"id":22111,"date":"2020-07-02T16:32:19","date_gmt":"2020-07-02T16:32:19","guid":{"rendered":"http:\/\/javascript_file_upload_to_cloudinary"},"modified":"2024-06-04T15:54:44","modified_gmt":"2024-06-04T22:54:44","slug":"javascript_file_upload_to_cloudinary","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary","title":{"rendered":"JavaScript File Upload in Two Simple Steps"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>Uploading software files to the web, mobile, or desktop is as old as the web itself. Billions of files are moved around and downloaded on the Internet daily. Coincidentally, as the de facto language in which many apps are written, JavaScript is also as old as the web.<\/p>\n<p>This article shows you how to enable users to efficiently JavaScript <a href=\"https:\/\/cloudinary.com\/blog\/automating_file_upload_and_sharing\">file upload<\/a> to Cloudinary.<\/p>\n<h2>Setup Process<\/h2>\n<p>The setup process involves two simple steps: create an HTML form, add JavaScript code to it, and then integrate with Cloudinary\u2019s upload widget. Afterwards, all your users need to do is click the form for a dialog box in which to choose the file for upload.<\/p>\n<h3>Creation of HTML Form<\/h3>\n<p>Create a file called <code>form.html<\/code> with the following content:<\/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\">\n<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> <span class=\"hljs-attr\">lang<\/span>=<span class=\"hljs-string\">\"en\"<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">head<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">meta<\/span> <span class=\"hljs-attr\">charset<\/span>=<span class=\"hljs-string\">\"UTF-8\"<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">title<\/span>&gt;<\/span>JavaScript File Upload<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">title<\/span>&gt;<\/span>\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\">button<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"upload_widget\"<\/span>&gt;<\/span>Upload files<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">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\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>Add JavaScript<\/h3>\n<p>Next, add the following JavaScript code to <code>form.html<\/code>:<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml shcb-wrap-lines\">\n<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> <span class=\"hljs-attr\">lang<\/span>=<span class=\"hljs-string\">\"en\"<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">head<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">meta<\/span> <span class=\"hljs-attr\">charset<\/span>=<span class=\"hljs-string\">\"UTF-8\"<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">title<\/span>&gt;<\/span>JavaScript File Upload<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">title<\/span>&gt;<\/span>\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\">button<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"upload_widget\"<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"cloudinary-button\"<\/span>&gt;<\/span>Upload files<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">button<\/span>&gt;<\/span>\n\n     <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">script<\/span> <span class=\"hljs-attr\">src<\/span>=<span class=\"hljs-string\">\"https:\/\/widget.cloudinary.com\/v2.0\/global\/all.js\"<\/span> <span class=\"hljs-attr\">type<\/span>=<span class=\"hljs-string\">\"text\/javascript\"<\/span>&gt;<\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">script<\/span>&gt;<\/span>\n     <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">script<\/span> <span class=\"hljs-attr\">type<\/span>=<span class=\"hljs-string\">\"text\/javascript\"<\/span>&gt;<\/span><span class=\"javascript\">  \n  <span class=\"hljs-keyword\">var<\/span> widget = cloudinary.applyUploadWidget({ \n    <span class=\"hljs-attr\">cloudName<\/span>: <span class=\"hljs-string\">'demo'<\/span>, \n    <span class=\"hljs-attr\">uploadPreset<\/span>: <span class=\"hljs-string\">'blog_upload'<\/span> }, \n    (error, result) =&gt; { \n       <span class=\"hljs-keyword\">if<\/span> (!error &amp;&amp; result &amp;&amp; result.event === <span class=\"hljs-string\">\"success\"<\/span>) { \n      \t\t<span class=\"hljs-built_in\">console<\/span>.log(<span class=\"hljs-string\">'Done uploading..: '<\/span>, result.info); \n   \t      }\n\n     });    \n\n   <span class=\"hljs-built_in\">document<\/span>.getElementById(<span class=\"hljs-string\">\"upload_widget\"<\/span>).addEventListener(<span class=\"hljs-string\">\"click\"<\/span>, <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span>(<span class=\"hljs-params\"><\/span>)<\/span>{\n    myWidget.open();\n  }, <span class=\"hljs-literal\">false<\/span>);\n     <\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">script<\/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\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><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<p>Traditionally, you would create a form with the <code>&lt;form&gt;<\/code> element for JavaScript file uploads. By taking advantage of Cloudinary\u2019s upload widget, you can eliminate that step.<\/p>\n<h3>Integration With Cloudinary\u2019s Upload Widget<\/h3>\n<p>Cloudinary\u2019s upload widget is an API for seamlessly uploading files, such as images, to the cloud. Subsequently, Cloudinary safely stores the files in the cloud with secure backups and revision history.<\/p>\n<p>With Cloudinary\u2019s free-tier plan, you can store up to 75,000 images and videos for a total of 2 GB. You also receive 7,500 transformations and 5 GB net viewing bandwidth per month.<\/p>\n<p>To integrate with the upload widget, do the following:<\/p>\n<ol>\n<li>\n<p><a href=\"https:\/\/cloudinary.com\/users\/register_free\">Sign up<\/a> for a free Cloudinary account and log in to the dashboard, an example of which looks like this:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_700,c_fill,f_auto,q_auto\/Web_Assets\/blog\/media_library.png\" alt=\"media library\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"700\" height=\"450\"\/><\/p>\n<p>Displayed are your <strong>cloud name<\/strong>, <strong>API key<\/strong>, and <strong>API secret<\/strong>, which are key credentials for interacting with Cloudinary\u2019s capabilities.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_700,c_fill,f_auto,q_auto\/Web_Assets\/blog\/presets.png\" alt=\"presets\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"700\" height=\"450\"\/><\/p>\n<\/li>\n<li>\n<p>Create an <a href=\"https:\/\/cloudinary.com\/documentation\/upload_images#upload_presets\">upload preset<\/a> with which to centrally define your image-upload options instead of specifying them for each of the uploads.<\/p>\n<\/li>\n<\/ol>\n<p><strong>Note:<\/strong> Be sure to replace the <code>cloudName<\/code> and <code>uploadPreset<\/code> values with yours from the Cloudinary dashboard.<\/p>\n<p>You\u2019re now all set. Clicking the <strong>Upload files<\/strong> button causes this form widget to pop up:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_400,c_fill,f_auto,q_auto,dpr_2.0\/Web_Assets\/blog\/upload_widget.png\" alt=\"upload widget\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"800\" height=\"638\"\/><\/p>\n<h2>Advantages<\/h2>\n<p>The beauty of uploading JavaScript files with the Cloudinary upload widget lies in its versatility. Users can upload from their Instagram, Shutterstock, Google Drive, Dropbox, or Facebook account, or any remote URL from their device.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_300,c_fill,f_auto,q_auto,dpr_2.0\/Web_Assets\/blog\/upload_widget-2.png\" alt=\"Upload options\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"600\" height=\"58\"\/><\/p>\n<p>Check out your console after a user upload of, say, an image. You\u2019ll see a returned response that contains all the details of the upload that just occurred, including the image\u2019s URL. The user can store that URL somewhere or assign it to the <code>src<\/code> attribute of an <code>image<\/code> tag for display. Talk about convenience and seamlessness exemplified!<\/p>\n<h2>More Options to Leverage<\/h2>\n<p>Cloudinary\u2019s upload widget offers many more configurations and API methods you can call, e.g., to crop an image before upload. For details, see the <a href=\"https:\/\/cloudinary.com\/documentation\/upload_widget\">related documentation<\/a>.<\/p>\n<h2>Want to Learn More About File Uploads?<\/h2>\n<ul>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/automating_file_upload_and_sharing\">Automating File Upload and Sharing<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/file_upload_with_php\">Uploading PHP Files and Rich Media the Easy Way<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/file_upload_with_ajax\">AJAX File Upload &#8211; Quick Tutorial &amp; Time Saving Tips<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/impressed_by_whatsapp_technology_build_a_whatsapp_clone_with_image_and_video_upload\">Impressed by WhatsApp technology? Clone WhatsApp Technology to Build a File Upload Android App<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/direct_image_uploads_from_the_browser_to_the_cloud_with_jquery\">Direct Image Uploads From the Browser to the Cloud With jQuery<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/file_upload_with_angular_or_angularjs_to_cloudinary\">File Upload With Angular to Cloudinary<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/uploading_vue_files_and_rich_media_in_two_easy_steps\">Uploading Vue Files and Rich Media in Two Easy Steps<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/node_js_file_upload_to_a_local_server_or_to_the_cloud\">Node.js File Upload To a Local Server Or to the Cloud<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/laravel_file_upload_to_a_local_server_or_to_the_cloud\">Laravel File Upload to a Local Server Or to the Cloud<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary\">JavaScript File Upload in Two Simple Step<\/a>\n<\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":41,"featured_media":22112,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[25,119,177],"class_list":["post-22111","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-asset-management","tag-file-upload","tag-javascript"],"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>JavaScript File Upload in Two Simple Steps<\/title>\n<meta name=\"description\" content=\"Create an HTML form and integrate with Cloudinary\u2019s upload widget so that your users can seamlessly upload JavaScript files to Cloudinary.\" \/>\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\/javascript_file_upload_to_cloudinary\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript File Upload in Two Simple Steps\" \/>\n<meta property=\"og:description\" content=\"Create an HTML form and integrate with Cloudinary\u2019s upload widget so that your users can seamlessly upload JavaScript files to Cloudinary.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-02T16:32:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-04T22:54:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1649722814\/Web_Assets\/blog\/JavaScript-File-Upload_221123b75d\/JavaScript-File-Upload_221123b75d-png?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"1540\" \/>\n\t<meta property=\"og:image:height\" content=\"847\" \/>\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\/javascript_file_upload_to_cloudinary#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"JavaScript File Upload in Two Simple Steps\",\"datePublished\":\"2020-07-02T16:32:19+00:00\",\"dateModified\":\"2024-06-04T22:54:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary\"},\"wordCount\":7,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722814\/Web_Assets\/blog\/JavaScript-File-Upload_221123b75d\/JavaScript-File-Upload_221123b75d.png?_i=AA\",\"keywords\":[\"Asset Management\",\"File-upload\",\"Javascript\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2020\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary\",\"url\":\"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary\",\"name\":\"JavaScript File Upload in Two Simple Steps\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722814\/Web_Assets\/blog\/JavaScript-File-Upload_221123b75d\/JavaScript-File-Upload_221123b75d.png?_i=AA\",\"datePublished\":\"2020-07-02T16:32:19+00:00\",\"dateModified\":\"2024-06-04T22:54:44+00:00\",\"description\":\"Create an HTML form and integrate with Cloudinary\u2019s upload widget so that your users can seamlessly upload JavaScript files to Cloudinary.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722814\/Web_Assets\/blog\/JavaScript-File-Upload_221123b75d\/JavaScript-File-Upload_221123b75d.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722814\/Web_Assets\/blog\/JavaScript-File-Upload_221123b75d\/JavaScript-File-Upload_221123b75d.png?_i=AA\",\"width\":1540,\"height\":847},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript File Upload in Two Simple Steps\"}]},{\"@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":"JavaScript File Upload in Two Simple Steps","description":"Create an HTML form and integrate with Cloudinary\u2019s upload widget so that your users can seamlessly upload JavaScript files to Cloudinary.","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\/javascript_file_upload_to_cloudinary","og_locale":"en_US","og_type":"article","og_title":"JavaScript File Upload in Two Simple Steps","og_description":"Create an HTML form and integrate with Cloudinary\u2019s upload widget so that your users can seamlessly upload JavaScript files to Cloudinary.","og_url":"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary","og_site_name":"Cloudinary Blog","article_published_time":"2020-07-02T16:32:19+00:00","article_modified_time":"2024-06-04T22:54:44+00:00","og_image":[{"width":1540,"height":847,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1649722814\/Web_Assets\/blog\/JavaScript-File-Upload_221123b75d\/JavaScript-File-Upload_221123b75d-png?_i=AA","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary"},"author":{"name":"","@id":""},"headline":"JavaScript File Upload in Two Simple Steps","datePublished":"2020-07-02T16:32:19+00:00","dateModified":"2024-06-04T22:54:44+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary"},"wordCount":7,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722814\/Web_Assets\/blog\/JavaScript-File-Upload_221123b75d\/JavaScript-File-Upload_221123b75d.png?_i=AA","keywords":["Asset Management","File-upload","Javascript"],"inLanguage":"en-US","copyrightYear":"2020","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary","url":"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary","name":"JavaScript File Upload in Two Simple Steps","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722814\/Web_Assets\/blog\/JavaScript-File-Upload_221123b75d\/JavaScript-File-Upload_221123b75d.png?_i=AA","datePublished":"2020-07-02T16:32:19+00:00","dateModified":"2024-06-04T22:54:44+00:00","description":"Create an HTML form and integrate with Cloudinary\u2019s upload widget so that your users can seamlessly upload JavaScript files to Cloudinary.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722814\/Web_Assets\/blog\/JavaScript-File-Upload_221123b75d\/JavaScript-File-Upload_221123b75d.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722814\/Web_Assets\/blog\/JavaScript-File-Upload_221123b75d\/JavaScript-File-Upload_221123b75d.png?_i=AA","width":1540,"height":847},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/javascript_file_upload_to_cloudinary#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"JavaScript File Upload in Two Simple Steps"}]},{"@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\/v1649722814\/Web_Assets\/blog\/JavaScript-File-Upload_221123b75d\/JavaScript-File-Upload_221123b75d.png?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22111","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\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=22111"}],"version-history":[{"count":3,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22111\/revisions"}],"predecessor-version":[{"id":34372,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22111\/revisions\/34372"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/22112"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=22111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=22111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=22111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}