如何处理类型为“文件”的输入?
问题描述:
我在我的页面中使用了一个元素,它包含一系列输入字段,如first_name,last_name,profile_pic等,并基于用户输入,我使用POST调用将此数据保存在后端。我使用下面的行获得所有这些形式的数据:如何处理类型为“文件”的输入?
fd = new FormData(mentorForm[0]);
,然后我简单地发送使用下面的代码这种形式的数据:
$.ajax({
url: "my url",
type: "PUT",
data: fd,
})
我能够更新个人档案相片和其他所有领域,而不任何问题。 但我面临一个问题,每次我更新表单中的任何值(而不是输入文件类型字段)时,它会为输入类型文件发送空值,因为我没有在其中选择任何值。有人可以帮助我理解如何预防这种情况吗?
答
每个默认的AJAX调用都会处理您的数据。因此,为了防止以下两个属性添加到请求:
contentType: false,
processData: false,
所以,你的AJAX调用看起来那么像这样:
$.ajax({
url: "my url",
type: "PUT",
data: fd,
contentType: false,
processData: false,
});
没错,添加,但如何能够帮助我,防止我的问题。每当我说我更新first_name时,与请求一起提交的有效内容将“input = file”的值设为null,因为我没有更新它,并在后端将其更新为空删除我的上一张图片。如何防止呢? –