main.js 914 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import Uppy from '@uppy/core'
  2. import Dashboard from '@uppy/dashboard'
  3. import AwsS3 from '@uppy/aws-s3'
  4. const uppy = new Uppy({
  5. debug: true,
  6. })
  7. uppy.use(Dashboard, {
  8. inline: true,
  9. target: 'body',
  10. })
  11. uppy.use(AwsS3, {
  12. getUploadParameters (file) {
  13. // Send a request to our PHP signing endpoint.
  14. return fetch('/s3-sign.php', {
  15. method: 'post',
  16. // Send and receive JSON.
  17. headers: {
  18. accept: 'application/json',
  19. 'content-type': 'application/json',
  20. },
  21. body: JSON.stringify({
  22. filename: file.name,
  23. contentType: file.type,
  24. }),
  25. }).then((response) => {
  26. // Parse the JSON response.
  27. return response.json()
  28. }).then((data) => {
  29. // Return an object in the correct shape.
  30. return {
  31. method: data.method,
  32. url: data.url,
  33. fields: data.fields,
  34. headers: data.headers,
  35. }
  36. })
  37. },
  38. })