У меня есть функция загрузки вложений в моем веб-приложении.

Файл может иметь тип image/png или image/jpg или image/jpeg или application/pdf

Для изображений мне нужно вернуть фото, для pdf-документа.

Документы будут только в формате pdf, но изображения могут быть расширены до изображений/ico и т. д.

Теперь мой код выглядит так.

getAttachmentType(attachmentTypeHeader: string): string {
    if (
        attachmentTypeHeader === 'image/png' ||
        attachmentTypeHeader === 'image/jpg' ||
        attachmentTypeHeader === 'image/jpeg'
    ) {
        return 'Photo';
    }
    if (attachmentTypeHeader === 'application/pdf') {
        return 'Document';
    }
}

Как я могу проверить это как image/*?

0
Eugene Sukh 30 Окт 2019 в 12:39

1 ответ

Строки JavaScript имеют методы для проверки только начала и конца строки: String.prototype.startsWith и String.prototype.endsWith. Каждый из этих двух методов берет строку и проверяет, что она равна началу и концу их основной строки соответственно.

Используя эти знания, вы можете сократить оператор if в своей функции getAttachmentType для проверки image/, только заменив

if (
    attachmentTypeHeader === 'image/png' ||
    attachmentTypeHeader === 'image/jpg' ||
    attachmentTypeHeader === 'image/jpeg'
)

С участием

if (attachmentTypeHeader.startsWith('image/'))

Надеюсь это поможет. Если у вас есть какие-либо вопросы, я постараюсь ответить на них в комментариях.

1
Jamie Ridding 30 Окт 2019 в 12:48