Skip to main content

Imgur API Image Uploader using JavaScript (+ HTML)

Source :- https://compile.blog/imgur-api-image-uploader/

See Example :- https://sh20raj.github.io/Gurimg/

Video Documentation :- https://youtu.be/Gh1ngxdIXAk {% youtube https://youtu.be/Gh1ngxdIXAk %}

Codepen Demo :- https://codepen.io/SH20RAJ/pen/QWqoOrL


Imgur is great for hosting images for free.

There are other platforms like FileStack, Cloudinary, and UploadCare; but among all Imgur is the best for uploading images because it’s free for non-commercial usage.

And, there is a simple way to set up the Imgur API to upload images directly from the local disk.

Here’s how to do it:

Imgur API Image Uploader

Let’s break it into simple baby steps:

Step #1 – Get the Imgur API

First of all, you will have to register your application with the Imgur API. Go to the API page and register an application. It should look like the below screenshot:

Imgur Api

Fill in the following details in the respective fields:

  • Application name: whatever you would like to name it
  • Authorization type: OAuth 2 authorization with a callback URL
  • Authorization callback URL: -https://www.getpostman.com/oauth2/callback
  • Application website: your website address (it’s optional)
  • Email: your email address
  • Description: however you’d like to describe your app

As soon as you submit, you will be presented with the Client ID and Client Secret, save both somewhere.

SS

It should look much like the screenshot above.

Step #2 – Create the Uploader

Well, most of the work is done by now.

You just have to create an HTML file, copy the below code and save.

And yes, don’t forget to replace the YOUR_CLIENT_ID with the real Client ID that you saved in the Step #1.

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Imgur API Image Uploader</title>
</head>

<body>
    <img src="https://i.imgur.com/U7afLiO.png" id="img" height="200px">
    <br />
    <input type="file" id="file">
    <br />
    <strong>
        <p id="url"></p>
    </strong>

    <script>
        const file = document.getElementById("file")
        const img = document.getElementById("img")
        const url = document.getElementById("url")
        file.addEventListener("change", ev => {
            const formdata = new FormData()
            formdata.append("image", ev.target.files[0])
            fetch("https://api.imgur.com/3/image/", {
                method: "post",
                headers: {
                    Authorization: "Client-ID YOUR_CLIENT_ID"
                },
                body: formdata
            }).then(data => data.json()).then(data => {
                img.src = data.data.link
                url.innerText = data.data.link
            })
        })
    </script>

</body>
</html>

Voila! Your Imgur API Image Uploader is ready.

Try opening the HTML file in your browser and test it out by uploading any image, it should return you the URL of the uploaded image.

That’s it.

And yes, either you can run the HTML file in the browser directly from the local disk, or you can upload it on Netlify or Github Pages.

If you’ve got any related query, feel free to let me in the comments.

https://dev.to/sh20raj/imgur-api-image-uploader-using-javascript-html-4b1c

Comments

Popular posts from this blog

How to Get Free Unlimited Bandwidth and Storage Using jsDelivr and GitHub

How to Get Free Unlimited Bandwidth and Storage Using jsDelivr and GitHub Are you tired of paying for expensive content delivery networks (CDNs) and storage solutions for your web projects? Look no further! In this guide, we'll show you how to leverage jsDelivr and GitHub to get free unlimited bandwidth and storage. Whether you're a seasoned developer or just getting started, this solution will save you money and improve the performance of your web projects. What is jsDelivr? jsDelivr is a free, fast, and reliable CDN for open-source files. It provides a convenient way to serve your static assets (like JavaScript, CSS, images, and more) with the benefits of a global CDN, including faster load times and unlimited bandwidth. What is GitHub? GitHub is a popular platform for version control and collaboration. It allows you to host your code repositories and manage your projects with ease. By combining GitHub with jsD...

Best VS Code extensions for developers in 2024

Here are some of the best VS Code extensions for developers in 2024, including a range of productivity tools, debuggers, and visual enhancements to streamline your coding workflow. Additionally, you'll find some popular themes to customize your editor's appearance. Top VS Code Extensions for Developers in 2024 Shade Theme by SH20RAJ Enhance your code readability with this well-designed theme, perfect for long coding sessions. Shade Theme Prettier A widely used code formatter that ensures your code is styled consistently across your projects. Prettier GitLens Provides rich visualizations and insights into your Git repository, helping you understand code changes and history. GitLens Auto Rename Tag Automatically renames paired HTML/XML tags, reducing errors and saving time. Auto Rename Tag Bracket Pair Colorizer Colors matching brackets to improve code readability, especially useful for complex nested structures. Bracket Pair Colorizer CSS Peek...

100+ Innovative Ideas for Telegram Bots

Title: 100+ Innovative Ideas for Telegram Bots: Exploring the Boundaries of Automation In the realm of instant messaging, Telegram stands out as a versatile platform offering a plethora of features for communication and automation. Among its most intriguing aspects are Telegram bots – automated programs designed to assist, entertain, or streamline various tasks within the platform. With the power of bot creation accessible to developers and enthusiasts alike, the possibilities for innovation are virtually limitless. Here, we present over 100 ideas for Telegram bots spanning diverse categories, from productivity to entertainment and beyond. 1. Productivity Bots: 1.1. Task Manager Bot: Helps users organize their tasks, set reminders, and manage deadlines. 1.2. Note Taking Bot: Allows users to jot down quick notes and access them later. 1.3. Calendar Integration Bot: Syncs Telegram with users' calendars, facilitating scheduling and event management. 1.4. Expense Tracker Bot: ...

Random Posts