Commit 7b22ce98 authored by Gaurav Jain's avatar Gaurav Jain

Upload New File

parent 64527ba9
const http = require('http');
const express = require('express');
var cors = require('cors');
var app = express();
const vision = require('@google-cloud/vision');
const open = require('open');
let formidable = require('formidable');
let fs = require('fs');
app.use(express.json());
app.use(cors({origin: 'http://localhost:8080'}));
app.listen(3000, () => {
console.log("Server running on port 3000");
});
const CREDENTIALS = JSON.parse(JSON.stringify({
"type": "service_account",
"project_id": "skilful-asset-365811",
"private_key_id": "4374aaffcf81723277cc5aa47b0726d151dd63dc",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCf9JZ34BriCUCZ\nR/WvDFFa8rltl8KsunXcE8egNbLrf9XVI1Ud+Hcek2jjWiCTfllNcga8FRKXyBS/\n73GCt2ZVazQro6I8h3s+iI549vgnyjlCRqRzpb02QLQMjrd7aXUSgd1ZrvvxWo2t\noVUf2dyNUlnU0gmdl0T5hKxDVJJi8G0lo0mJdERszgY3ezk1tuzeQ+Bpg+EXotQn\nvZj8clrfPWuwFeSR2/sqYlxzqSr0VRhg/RL48sr3mbZ9I6j4bLpKOj2If0NEbYjg\n1yncfCFMJf5UtdxBY22DrUODc+lrxJUmXlWUmGgERw9yaHdeQCB7P9EOiv1ssu0J\nXUVyTNNVAgMBAAECggEAGTkqExwxUQyRdbpduS1RlOxqpigEyFUc6cfqtk5ReQZv\nE02fifrY2eb35sYbFfcaIPbGrhkKlgm0j/Gzrh+6kOS3VNxYZIAexKUnBlc3mZqv\nfc6C90Oe+zOn0MUelOTz06fL3m0UCKK1bbhfooap21UtmjxGzOWCOHCd834eGWC9\ni5Fhpyc3vsFOBq8d4uFNUWQv3NAyraKTE3EyFgeiJY5oAYz4OWGHmOqcEYrGiGoD\nGhvuGOsuXdRqMJQEpj3Go9I6rCrRmcbJov59vv6QT/qnvs9wU8e8X4i2gSsSOGml\no2n7xwtJUjDed3EY9I74Qg9jl/mYmv+p5pBG5neObwKBgQDTeP/qcHIdTv7p5wdw\nz2C/JX3L3+YA+Za1jQ2qCRHUrvKzJBMRwlznIiL0Td0PcAeQ4PTlyMr18KBdkDI7\nOq8C1B6Ng3Kr+UR8odZMxA5pjqzb2tamV8mzJ/37dsmFhz7/+TqJytQyup+z6+Ze\n0qsirWx0ObP5UQzcmLm6vCocYwKBgQDBoqg4oHlXx9Baxo8KwAEiLGs8uqmeCAtI\n06FEnfKMFFxedFSGbn9px50t6AVzj+HigdoSY6LT01fskDGePLVu/X/c/qiLiYZs\n/wcv0eJlUxsI8zKZn9RoWIMGwUjLLWo4sNio30dgRELhfmsygHYkqD5ojTiZ2UeJ\n//+3lCzS5wKBgDzh9SvVu8TcXV+R9/5udfgSHyl3CIz3ToBuX6S4f72vsIgKtsLC\nJmUU2uNjF2W+Zy861MbjDCvKXyEQxqVuu7wgvbsYQQdp+GG5Zi0rtMqHHRUe5/V0\nCMnflau0A0jCK00ev8+z6WvBdwEhxW0/Ua3mJ/c+NaZtwzovbiloyubpAoGAc0C9\nn/bkQrtL6LwGp/9grVaC/cKc8tMW5GISuyTIGViFIjNbnCho7i1CAPD5Ta92Y7um\ncQuc/zfsPYIWBnlcBJQeZwushmF1AatKO8xRVL4CeXFHzOi1JOaKFps1GLoPX27j\nhqBfe40lwdHdPFH6ABekDdcAuZH6YsldC4fGpkECgYBhEPIq/JjZlM1f8xC+0/25\nWrCdbrVC55+X+nlN4ky5UGoqW6SGAXvGn5pNI6UfKssTL1tpKxn+hGSPcfNkjZkv\n0uNVuyr57iOeOVCtqFhSOqEwYklV0j3PaaepIR27M/6JQmq5UD07dEEBaiiFEtZp\nH0QwCpE+z/0Ezo9EVd17vw==\n-----END PRIVATE KEY-----\n",
"client_email": "gcp-18oct-test1@skilful-asset-365811.iam.gserviceaccount.com",
"client_id": "116950260649845203323",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/gcp-18oct-test1%40skilful-asset-365811.iam.gserviceaccount.com"
}
));
const CONFIG = {
credentials: {
private_key: CREDENTIALS.private_key,
client_email: CREDENTIALS.client_email
}
};
const client = new vision.ImageAnnotatorClient(CONFIG);
const imageRecognition = async (file_path) => {
console.log({file_path});
console.log("I can tell you what it is! Wait");
try {
let [result] = await client.objectLocalization(file_path);
let names = result.localizedObjectAnnotations.map(localizedObject => localizedObject.name);
console.log(names);
const finalURL = `https://www.williams-sonoma.com/search/results.html?words=${names.join(",")}`
console.log(finalURL);
open(finalURL);
open(`https://www.amazon.com/s?k=${names}`);
} catch (error) {
console.error(error);
}
};
app.post("/image-recognition", async (req, res, next) => {
console.log("I can tell you what it is! Wait");
console.log('Came here');
let form = new formidable.IncomingForm();
form.parse(req, function (error, fields, file) {
console.log({file});
let filepath = file.imageName.filepath;
let newPath = `/Users/GJain3/Desktop/gcp-hackathon/`;
newPath += file.imageName.originalFilename;
console.log({newPath});
fs.rename(filepath, newPath, function(){
imageRecognition(newPath);
res.write('Upload file successful');
res.end();
});
})
});
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment