Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Firefox v21.0中,通过Javascript创建File()的实例失败_Javascript_Firefox_File Upload_Form Data - Fatal编程技术网

在Firefox v21.0中,通过Javascript创建File()的实例失败

在Firefox v21.0中,通过Javascript创建File()的实例失败,javascript,firefox,file-upload,form-data,Javascript,Firefox,File Upload,Form Data,我正在开发一个JS功能,它将从一些动态数据创建一个文本文件,并将其上传到服务器 通过使用,当从我的个人笔记本电脑进行测试时,我能够成功地动态创建一个文件。笔记本电脑规格如下: 计算机/OS:MacBookPro 10.11.6(El Capitan) 浏览器: Chrome v63.0.3239.132 FireFox v46.0.1 但是,当我使用基于Linux的操作系统在另一台桌面上尝试完全相同的代码时,我收到了一个安全错误。桌面规格如下: 计算机/OS:Porteus v2.1(L

我正在开发一个JS功能,它将从一些动态数据创建一个文本文件,并将其上传到服务器

通过使用,当从我的个人笔记本电脑进行测试时,我能够成功地动态创建一个文件。笔记本电脑规格如下:

  • 计算机/OS:MacBookPro 10.11.6(El Capitan)
  • 浏览器:
  • Chrome v63.0.3239.132
  • FireFox v46.0.1
但是,当我使用基于Linux的操作系统在另一台桌面上尝试完全相同的代码时,我收到了一个安全错误。桌面规格如下:

  • 计算机/OS:Porteus v2.1(Linux Slackware v14.0)
  • 浏览器:FireFox v21.0
我意识到Firefox版本之间有很大的不同,但是根据文件接口info(),这两个版本都可以使用

下面是我运行的确切代码:

var generatedFile=新文件(
[ 
“第一行\r\n”,
“第二行\r\n”
], 
“filename.txt”,
{type:“text/plain”}
);
var form_data=new FormData();
表单_data.append('file',generatedFile);
log('form_data:',form_data');
错误是:

  • 异常:操作不安全
  • 代码:18
  • nsresult:0x80530012
当我向Google gods咨询上述nsresult时,我发现,其中指出:

剥下图层后,所指的行将尝试在文件输入字段上设置input.value。出于安全原因,这是不可能的。文件输入字段的值必须由用户选择,不能由JavaScript设置

但是,我不会更改任何表单输入字段的值。如果这就是原因,那就不能解释为什么它适用于更新版本的FF,而不是旧版本(人们会假设安全限制将在更高版本中实施,而不是相反)

任何意见都会有帮助。谢谢

-J