Limit size of uploaded files
This commit is contained in:
parent
7f477ec034
commit
db73a12e95
@ -46,9 +46,9 @@ export default {
|
||||
return {
|
||||
hasInitialData: !!this.initialData,
|
||||
attachment: this.initialData || null,
|
||||
showErrors: this.initialErrors,
|
||||
changed: false,
|
||||
uploadError: null,
|
||||
uploadError: false,
|
||||
sizeError: false,
|
||||
}
|
||||
},
|
||||
|
||||
@ -63,15 +63,22 @@ export default {
|
||||
|
||||
methods: {
|
||||
addAttachment: async function(e) {
|
||||
this.clearErrors()
|
||||
|
||||
const file = e.target.files[0]
|
||||
if (file.size > 64000000) {
|
||||
this.sizeError = true
|
||||
return
|
||||
}
|
||||
|
||||
const response = await this.uploader.upload(file, this.objectName)
|
||||
|
||||
if (response.ok) {
|
||||
this.attachment = e.target.value
|
||||
this.$refs.attachmentFilename.value = file.name
|
||||
this.$refs.attachmentObjectName.value = this.objectName
|
||||
this.$refs.attachmentInput.disabled = true
|
||||
} else {
|
||||
this.showErrors = true
|
||||
this.uploadError = true
|
||||
}
|
||||
|
||||
@ -91,8 +98,7 @@ export default {
|
||||
this.$refs.attachmentInput.value = null
|
||||
this.$refs.attachmentInput.disabled = false
|
||||
}
|
||||
this.showErrors = false
|
||||
this.uploadError = false
|
||||
this.clearErrors()
|
||||
this.changed = true
|
||||
|
||||
emitEvent('field-change', this, {
|
||||
@ -101,6 +107,10 @@ export default {
|
||||
watch: this.watch,
|
||||
})
|
||||
},
|
||||
clearErrors: function() {
|
||||
this.uploadError = false
|
||||
this.sizeError = false
|
||||
}
|
||||
},
|
||||
|
||||
computed: {
|
||||
@ -115,5 +125,8 @@ export default {
|
||||
hideInput: function() {
|
||||
return this.hasInitialData && !this.changed
|
||||
},
|
||||
showErrors: function() {
|
||||
return (!this.changed && this.initialErrors) || this.uploadError || this.sizeError
|
||||
}
|
||||
},
|
||||
}
|
||||
|
@ -46,6 +46,9 @@
|
||||
<template v-if="uploadError">
|
||||
<span class="usa-input__message">{{ "forms.task_order.upload_error" | translate }}</span>
|
||||
</template>
|
||||
<template v-if="sizeError">
|
||||
<span class="usa-input__message">{{ "forms.task_order.size_error" | translate }}</span>
|
||||
</template>
|
||||
{% for error, error_messages in field.errors.items() %}
|
||||
<span class="usa-input__message">{{error_messages[0]}}</span>
|
||||
{% endfor %}
|
||||
|
@ -156,6 +156,7 @@ forms:
|
||||
length_error: Filename may be no longer than 100 characters.
|
||||
task_order:
|
||||
upload_error: There was an error uploading your file. Please try again. If you encounter repeated problems uploading this file, please contact CCPO.
|
||||
size_error: The file you have selected is too large. Please choose a file no larger than 64MB.
|
||||
app_migration:
|
||||
both: 'Yes, migrating from both an on-premise data center <strong>and</strong> another cloud provider'
|
||||
cloud: 'Yes, migrating from another cloud provider'
|
||||
|
Loading…
x
Reference in New Issue
Block a user