为 FormData 创建新文件

create new file for FormData

我有一个表单,其中包含一个文本区域和一个文件类型的输入。选择文件后,文本区域将加载文件内容。我想要的是能够编辑 textarea 并构建另一个文件对象(或更改文件的内容),该文件对象附加到提交表单时使用的 formData。简单来说,php 服务器应该接收一个包含来自 textarea 的内容的文件。我认为一种解决方案是更改实际的真实文件(从存储中)然后上传它但我不想更改文件。谢谢你,祝你有美好的一天。

<form id='form' enctype='multipart/form-data'>

    <textarea name='textarea'>
    </textarea>
    <span class='btn btn-default btn-file'>
            <input type='file' name='file">
    </span>

</form>

<script>
$("#form").submit(function(event){
     var formData = new FormData(this);

     $.ajax({
        url: '....',
        type: 'POST',
        data: formData,
        success: function (result) {
            .....
        }

}

</script>

我找到了解决方案:

var file = new File(["file content"], "fileName.txt", {type: "text/plain"});
formData.set('keyForPost', file);

要替换输入中的旧数据文件,keyForPost 应该是输入的名称属性。