Skip to content

Instantly share code, notes, and snippets.

@nchanged
Last active March 31, 2018 15:15
Show Gist options
  • Save nchanged/cc794a9897eb988e8aeec81d9c6a6bdf to your computer and use it in GitHub Desktop.
Save nchanged/cc794a9897eb988e8aeec81d9c6a6bdf to your computer and use it in GitHub Desktop.
uploader.js
import { UserFile } from "../../../../server/UserFile";
const request = require("request");
const fs = require("fs");
export interface CDNResponse {
name: string;
folder: string;
publicPath: string; å
}
export class Uploader {
private token = "123";
private folder = "bm";
constructor(public file: UserFile) { }
public upload(): Promise<CDNResponse> {
return new Promise((resolve, reject) => {
const formData: any = {};
formData[this.file.name] = {
value: fs.createReadStream(this.file.path),
options: {
filename: this.file.name,
contentType: this.file.type
}
}
request.post({
url: 'http://cdn.nchanged.com/upload',
qs: {
token: this.token,
folder: this.folder,
},
formData: formData
}, function optionalCallback(err: any, httpResponse: any, body: any) {
console.log(body);
const resp = JSON.parse(body);
if (err) {
console.log(resp);
return reject(err);
}
return resolve(resp[0])
});
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment