Как удалить значение из FormData

Здесь - это путь к append файлу FormData:

  var data = new FormData();
  jQuery.each($('#file')[0].files, function(i, file) {
          data.append('file-'+i, file);
  });

можно ли сделать, как показано ниже?

     data[i].remove();???
 or  data[i] = file;??

как iIcan удалить или изменить значение из data

Ответ 1

Вы не можете делать ничего, кроме добавления элементов к объекту FormData. См. Spec. Было бы лучше, если бы вы использовали словарь/объект для хранения всех значений, которые вы хотите добавить/изменить, прежде чем создавать объект.

var data = {};
jQuery.each($('#file')[0].files, function(i, file) {
  data['file-'+i] = file;
});

//modify the object however you want to here

var formData = new FormData();
for (var key in data) {
  formData.append(key, data[key]);
}

Ответ 2

Я знаю, что эта ветка устарела, но я просто нашел это: https://developer.mozilla.org/en-US/docs/Web/API/FormData/delete

Мне кажется, это могло бы помочь. Вы можете использовать formData.delete(name), чтобы удалить запись formData с ключом "name".

Ответ 3

@acidrums4 Не должен быть отмечен как правильный ответ, потому что это не то, что @talkhabi стремится. И это то, что я ищу сейчас, три года спустя: это НЕПОСРЕДСТВЕННО удалить записи (значения) из объекта FormData. Не весь ключ, это не приемлемо. Но fooobar.com/info/6511162/....