ContentMixin.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import { APIGateway } from 'src/api/APIGateway.js'
  2. const mixinAuth = {
  3. methods: {
  4. uploadAudio (files, updateUploadingProgressBar, onFileUpload, onError) {
  5. const formData = new FormData()
  6. formData.append('file', files[0])
  7. formData.append('type', 'SOUND')
  8. this.$axios.post(APIGateway.media.APIAdresses.base, formData, {
  9. headers: {
  10. 'Content-Type': 'multipart/form-data'
  11. },
  12. onUploadProgress: progressEvent => {
  13. const { loaded, total } = progressEvent
  14. const percentage = Math.floor((loaded * 100) / total)
  15. updateUploadingProgressBar(percentage + '%')
  16. }
  17. })
  18. .then((response) => {
  19. onFileUpload(response.data.file)
  20. })
  21. .catch(() => {
  22. onError()
  23. })
  24. },
  25. uploadPhoto (files, updateUploadingProgressBar, onFileUpload, onError) {
  26. const formData = new FormData()
  27. formData.append('file', files[0])
  28. formData.append('type', 'IMAGE')
  29. this.$axios.post(APIGateway.media.APIAdresses.base, formData, {
  30. headers: {
  31. 'Content-Type': 'multipart/form-data'
  32. },
  33. onUploadProgress: progressEvent => {
  34. const { loaded, total } = progressEvent
  35. const percentage = Math.floor((loaded * 100) / total)
  36. updateUploadingProgressBar(percentage + '%')
  37. }
  38. })
  39. .then((response) => {
  40. onFileUpload(response.data.file)
  41. })
  42. .catch(() => {
  43. onError()
  44. })
  45. },
  46. uploadVideo (files, updateUploadingProgressBar, onFileUpload, onError) {
  47. const formData = new FormData()
  48. formData.append('file', files[0])
  49. formData.append('type', 'VIDEO')
  50. this.$axios.post(APIGateway.media.APIAdresses.base, formData, {
  51. headers: {
  52. 'Content-Type': 'multipart/form-data'
  53. },
  54. onUploadProgress: progressEvent => {
  55. const { loaded, total } = progressEvent
  56. const percentage = Math.floor((loaded * 100) / total)
  57. updateUploadingProgressBar(percentage + '%')
  58. }
  59. })
  60. .then((response) => {
  61. onFileUpload(response.data.file)
  62. })
  63. .catch(() => {
  64. onError()
  65. })
  66. }
  67. }
  68. }
  69. export default mixinAuth