How can JavaScript upload a blob ?
Last Updated :
01 Feb, 2022
There are many ways to upload a blob (a group of bytes that holds the data stored in a file) in JavaScript, using XMLHttpRequest, Fetch API, jQuery. In this tutorial, we will discuss the two most common ways that are supported by a majority of the browsers.
Note: To test our HTTP request, you can use minimal express server. You can also use any online testing tool like webhook.site.
Fetch API: The Fetch API allows web browsers to send and receive data from the servers through HTTP requests. It is an easy-to-use version of XMLHttpRequest. The fetch() method returns a Promise which then can be chained with then() and catch() for better error handling. It is supported by all the modern browsers except IE.
Syntax:
fetch( url, // API endpoint
{
method:"", // HTTP Method (GET, POST, PUT, DELETE)
body: {}, // Data to be sent
}).then(response => {
// handle the response
})
.catch(e => {
// handle the error
});
Example:
JavaScript
<script>
function uploadBlob() {
const blob =
new Blob(
[ "This is some important text" ],
{ type: "text/plain" }
);
method: "POST" ,
body: blob
})
.then(response => alert( 'Blob Uploaded' ))
. catch (err => alert(err));
}
document.addEventListener( 'load' , uploadBlob())
</script>
|
Output:
AJAX: It is a set of web applications that can send and retrieve data from a server asynchronously without reloading the current page. Please import or load jQuery before calling the ajax function.
Syntax:
$.ajax({
url: "", // API Endpoint
type: "", // HTTP Method (GET, POST, PUT, DELETE)
data: {}, // Data to be sent
// Specifies how the form-data should be encoded
enctype: 'multipart/form-data',
success: function(data) {
// Handle the response
}, error: function(e) {
// Handle the error
}
});
Example:
HTML
<!DOCTYPE html>
< html lang = "en" >
< head >
< script src =
</ script >
</ head >
< body >
< script >
function uploadBlob() {
const blob = new Blob(
["This is some important text"],
{ type: "text/plain" }
);
// Creating a new blob
$.ajax({
// Hostname and port of the local server
// HTTP request type
type: "POST",
// Sending blob with our request
data: blob,
processData: false,
contentType: false,
success: function (data) {
alert('Blob Uploaded')
},
error: function (e) {
alert(e);
}
});
}
$(document).on('load', uploadBlob());
</ script >
</ body >
</ html >
|
Output:
Share your thoughts in the comments
Please Login to comment...