diff --git a/src/components/media_upload/media_upload.js b/src/components/media_upload/media_upload.js
new file mode 100644
index 0000000000..c24c71e9ff
--- /dev/null
+++ b/src/components/media_upload/media_upload.js
@@ -0,0 +1,22 @@
+/* eslint-env browser */
+import statusPosterService from '../../services/status_poster/status_poster.service.js'
+
+const mediaUpload = {
+ mounted () {
+ const store = this.$store
+ const input = this.$el.querySelector('input')
+ const self = this
+
+ input.addEventListener('change', ({target}) => {
+ const file = target.files[0];
+ const formData = new FormData();
+ formData.append('media', file);
+ statusPosterService.uploadMedia({ store, formData })
+ .then((fileData) => {
+ self.$emit('uploaded', fileData)
+ })
+ })
+ }
+}
+
+export default mediaUpload
diff --git a/src/components/media_upload/media_upload.vue b/src/components/media_upload/media_upload.vue
new file mode 100644
index 0000000000..a62d831698
--- /dev/null
+++ b/src/components/media_upload/media_upload.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+