Skip to content

Instantly share code, notes, and snippets.

View jimmycann's full-sized avatar

Jimmy Cann jimmycann

View GitHub Profile
@jimmycann
jimmycann / setup.sh
Last active April 3, 2016 00:40
Angular Tinify S3 - Basic Setup
#!/bin/bash
mkdir angular-tinify-s3
cd angular-tinify-s3
npm init -y
npm i -S express
npm i -S body-parser
npm i -S method-override
npm i -S morgan
npm i -S multer
npm i -S tinify
@jimmycann
jimmycann / server.js
Last active April 3, 2016 00:36
Angular Tinify S3 - Express Server
// modules =================================================
var express = require('express');
var app = express();
var router = express.Router();
var bodyParser = require('body-parser');
var morgan = require('morgan');
var methodOverride = require('method-override');
// configuration ===========================================
@jimmycann
jimmycann / index.html
Created April 3, 2016 01:00
Angular Tinify S3 - Index page
<body ng-app="angular-tinify-s3">
<div ui-view ng-cloak></div>
<script src="bower_components/angular/angular.min.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.min.js"></script>
<script src="bower_components/angular-sanitize/angular-sanitize.min.js"></script>
<script src="bower_components/ng-file-upload/ng-file-upload.min.js"></script>
<script src="js/app.js"></script>
<script src="js/controller/upload-controller.js"></script>
@jimmycann
jimmycann / app.js
Created April 3, 2016 01:02
Angular Tinify S3 - app.js
'use strict';
angular.module('angular-tinify-s3', [
'ui.router', 'ngFileUpload', 'ngSanitize'
]).config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider.state('base', {
url: '/',
templateUrl: 'view/upload.html',
@jimmycann
jimmycann / upload-controller.js
Created April 3, 2016 01:03
Angular Tinify S3 - Upload Controller (blank)
angular.module('angular-tinify-s3').controller('uploadCtrl',['$scope', '$window', 'Upload',
function($scope, $window, Upload){
}]);
@jimmycann
jimmycann / nodemon.json
Created April 3, 2016 01:10
Angular Tinify S3 - nodemon
{
"verbose": true,
"ignore": ["public/*","app/uploads/*"]
}
@jimmycann
jimmycann / upload.html
Created April 3, 2016 03:07
Angular Tinify S3 - upload interface
<div ng-controller="uploadCtrl as up">
<h3>Angular Tinify S3</h3>
<form name="up.upload_form">
<!-- For Angular File Upload -->
<input
type="file"
ngf-select
ng-model="up.file"
name="file"
ngf-pattern="'image/*'"
@jimmycann
jimmycann / upload-controller.js
Created April 3, 2016 03:16
Angular Tinify S3 - Upload Controller (complete)
angular.module('angular-tinify-s3').controller('uploadCtrl',['$scope', '$window', 'Upload',
function($scope, $window, Upload){
// Set some model defaults for the Tinify API Parameters
$scope.ulData={};
$scope.ulData.ht=150;
$scope.ulData.wd=150;
$scope.ulData.m='fit';
// Resize methods accepted (for the select box options)
@jimmycann
jimmycann / routes.js
Created April 3, 2016 03:33
Angular Tinify S3 - Upload Backend Complete
var tinify = require("tinify");
tinify.key = "YOUR_TINIFY_API_KEY";
var multer = require('multer');
module.exports = function (app) {
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "http://localhost");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
@jimmycann
jimmycann / routes.js
Last active April 3, 2016 03:44
Angular Tinify S3 - Upload Backend Pt.1
var storage = multer.diskStorage({ //multers disk storage settings
destination: function (req, file, cb) {
cb(null, './app/uploads/')
},
filename: function (req, file, cb) {
var datetimestamp = Date.now();
var originalname = file.originalname.split('.');
var new_filename = originalname[0] + '-' + datetimestamp + '.' + originalname[1];
cb(null, new_filename)
}