前提
htmlのinputタグにてアップロードされた動画の縦横サイズ情報を取得して、サーバーサイドにpostする必要があり、その際に作成したコードになります。
fileinputから直接取得はできなかったた、一度videoタグに展開してから、縦横のサイズを取得しています。
実装
sample.js
// ファイル選択時にhandleFileSelectを発火
fileInput.addEventListener('change', () => {
// 複数の画像やサイズがmultipleでアップロードされていた場合を想定
for (let i = 0; i < fileInput.files.length; i++) {
let file = fileInput.files[i];
// 動画のみ処理を行う。今回はmp4のみ
if (file.type === "video/mp4") {
let element = document.createElement( "video" ) ;
let name = file.name;
element.src = URL.createObjectURL(file);
element.ondurationchange = () => {
// videoタグから画像の高さ、横幅を取得する
let height = element.videoHeight;
let width = element.videoWidth;
}
}
}
});
限られたシチュエーションだとは思うのですが、誰かの役に立てば幸いです。