zipファイルをアップロードしたいのですが、中身を分割して、順番にアップロードしたいです。
以下のようにして、ただ単に丸ごとzipファイルをアップロードすることはできました。
js
1export const uploadFile = ({ file }) => { 2 let params = new FormData() 3 params.append('file', file) 4 return axios.post(url, params) 5}
fileは、以下のように取得してます。
html
1<input type="file" @change="onChanged" />
js
1onChanged (event) { 2 let file = event.target.files[0] 3}
しかし、実際は100mbずつに分割してアップロードしたいです。
ただし、単独で150mbを越えてしまっているファイルやディレクトリは考慮せず、それ1つだけを、zipファイルの中に格納したいです。
つまり、
例えばなんですが、zipファイルの中身が(全て1階層目です)
A.dir (150mb)
B.dir (50mb)
C.dir (30mb)
-d.html (10mb)
-e.txt (50mb)
みたいになってるとしたら
まず
- first.zip (中身は、A.dirのみ。150mbは100mbを越えてしまっているから。)
を作成し、このfirst.zipをアップロード
次に
- second.zip (中身は、B.dirとC.dirとd.html。合計が100mbを越えないように)
を作成し、このsecond.zipをアップロード
最後に
- third.zip (中身は、e.txtのみ)
を作成し、このthird.zipをアップロード
このようにしたいです。
このような操作はやはりブラウザ上では不可能なのでしょうか。
丸ごとアップロードするしかないのでしょうか。
つまり、ブラウザ上で、
- 一回zipファイルを展開する
- そしてそれらを順番にフォルダーに格納する
- そのフォルダーをまたzip化する
- アップロードする
- 2 〜 4 を繰り返す
このようなイメージでしょうか...。
こんなことブラウザでできるんでしょうか...。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/09/30 09:58