Javascript 使用FormData将字符串追加为文件上载

Javascript 使用FormData将字符串追加为文件上载,javascript,ajax,form-data,Javascript,Ajax,Form Data,我想知道是否可以使用表单数据上传字符串作为文件。我相信应该有一些文件对象,它可以有值,文件名,也可能有mime类型集。 伪代码: var file = new File(); file.name = "file.txt"; file.mimeType = "text/plain"; file.value = "blah blah\nsecond line"; var data = new FormData(); data.append(file); 确实存在一个名为File(在现代浏览器上)的

我想知道是否可以使用表单数据上传字符串作为文件。我相信应该有一些
文件
对象,它可以有
文件名
,也可能有
mime类型
集。
伪代码:

var file = new File();
file.name = "file.txt";
file.mimeType = "text/plain";
file.value = "blah blah\nsecond line";
var data = new FormData();
data.append(file);

确实存在一个名为
File
(在现代浏览器上)的对象,但出于安全问题,您无法创建它的新实例。因此,你所追求的是不可能的。

对我来说很好

const blob = new Blob(['blah blah\nsecond line'], {type : 'text/plain'})
formData.append('file', blob, 'file.txt')

OP想要做的是可能的。见下文。我不知道您是否试图重现该场景或测试代码,但此Ans不应标记为答案,因为@zag2art的解决方案显然正在工作,这表明现代浏览器确实允许问题中提出的问题。