0
私は、ユーザーが5種類の画像をアップロードすることができるアプリの一部を持っています。画像がアップロードされると、小さなサムネイルが表示されます。複数のファイルをアップロードできません
私は1つの画像をアップロードするので、すべて正常に動作します。
複数の画像をアップロードしようとすると、3つすべて一緒に座って、3つの等しいサムネイルを示す3つの画像をアップロードしてしまいます...そして、私は狂っています。
HTML::
<input id="pics" type="file" accept="image/*" class="upload" data-imageid="" data-imageurl="" data-callback="displayPics" data-image-type="pics" multiple />
JS:
const fileInputs = document.querySelectorAll('input[type="file"]');
[].slice.call(fileInputs).forEach(fileInput => {
fileInput.addEventListener('change',() => {
uploadFile(
fileInput,
fileInput.getAttribute('data-callback')
);
});
});
unction uploadFile(input, callback) {
let formData = new FormData();
Object.keys(input.files).forEach(current => {
formData.append('file', input.files[current]);
fetchAPI({
target: 'pics/',
method: 'POST',
body: formData
})
.then(data => {
if (callback !== undefined) {
window[callback](data.response);
}
}, err => {
// err...
});
});
}
は、私がここで間違っているかを知ることができます。ここ
は、この部分を扱うコードのですか?ありがとう
こんにちは、お返事ありがとうございます。さて、 'fetchAPI'は組み込みのものであり、正常に動作します...あなたのヒントの背後にあるロジックを更新しました.2つの問題があります:' response.json()は関数ではありません。単一の画像。私が「データ」から返すのは1つのイメージだけです。それは一回実行されます。 –
'formData'は基本的に空のオブジェクトです。 –
@AyeyeBrazo 'formData'が空のオブジェクトであるとはどのように判断しましたか?おそらく 'FormData'インスタンスの各キーを別の値に設定してください。 – guest271314