app.es6 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. const Uppy = require('uppy/lib/core/Core')
  2. const Dashboard = require('uppy/lib/plugins/Dashboard')
  3. const Webcam = require('uppy/lib/plugins/Webcam')
  4. const Transloadit = require('uppy/lib/plugins/Transloadit')
  5. const Instagram = require('uppy/lib/plugins/Instagram')
  6. function initUppy () {
  7. if (window.uppy) {
  8. window.uppy.close()
  9. }
  10. const uppy = Uppy({
  11. debug: true,
  12. autoProceed: false,
  13. restrictions: {
  14. maxFileSize: 1024 * 1024 * 1024,
  15. maxNumberOfFiles: 2,
  16. minNumberOfFiles: 1,
  17. allowedFileTypes: ['image/*']
  18. }
  19. })
  20. uppy
  21. .use(Transloadit, {
  22. params: {
  23. auth: {
  24. key: window.TRANSLOADIT_API_KEY
  25. },
  26. // It's more secure to use a template_id and enable
  27. // Signature Authentication
  28. steps: {
  29. resize: {
  30. robot: '/image/resize',
  31. width: 250,
  32. height: 250,
  33. resize_strategy: 'fit',
  34. text: [
  35. {
  36. text: '© 2018 Transloadit.com',
  37. size: 12,
  38. font: 'Ubuntu',
  39. color: '#eeeeee',
  40. valign: 'bottom',
  41. align: 'right',
  42. x_offset: 16,
  43. y_offset: -10
  44. }
  45. ]
  46. }
  47. }
  48. },
  49. waitForEncoding: true
  50. })
  51. .use(Dashboard, {
  52. inline: true,
  53. maxHeight: 400,
  54. target: '#uppy-dashboard-container',
  55. note: 'Images and video only, 1–2 files, up to 1 MB'
  56. })
  57. .use(Instagram, { target: Dashboard, host: 'https://api2.transloadit.com/uppy-server' })
  58. .use(Webcam, { target: Dashboard })
  59. uppy
  60. .on('transloadit:result', (stepName, result) => {
  61. const file = uppy.getFile(result.localId)
  62. var resultContainer = document.createElement('div')
  63. resultContainer.innerHTML = `
  64. <div>
  65. <h3>Name: ${file.name}</h3>
  66. <img src="${result.ssl_url}" /> <br />
  67. <a href="${result.ssl_url}">View</a>
  68. </div>
  69. `
  70. document
  71. .getElementById('uppy-transloadit-result')
  72. .appendChild(resultContainer)
  73. })
  74. }
  75. window.initUppy = initUppy