Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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
Javascript Ajax在使用会话时不上载文件 我想在DRF中用Ajax上传文件,但我失败了!_Javascript_Django_Ajax_Django Rest Framework - Fatal编程技术网

Javascript Ajax在使用会话时不上载文件 我想在DRF中用Ajax上传文件,但我失败了!

Javascript Ajax在使用会话时不上载文件 我想在DRF中用Ajax上传文件,但我失败了!,javascript,django,ajax,django-rest-framework,Javascript,Django,Ajax,Django Rest Framework,我从邮递员那里复制了这些代码,但我得到了错误: 提交的数据不是文件。检查屏幕上的编码类型 形式 我尝试了多种AJAX方法,但都失败了 注意:这些代码在Postman和Curl中正常工作 我认为第二行是错的 form.append("files[1]file", "/home/mshzsh/Pictures/photo.jpg"); 您应该使用文件输入来选择文件,然后将该文件附加到表单数据中 本主题可能对您有所帮助:这是否回答了您的问题@Prabhjotsinghkaint感谢您的评论。我认为这

我从邮递员那里复制了这些代码,但我得到了错误:

提交的数据不是文件。检查屏幕上的编码类型 形式

我尝试了多种AJAX方法,但都失败了

注意:这些代码在Postman和Curl中正常工作


我认为第二行是错的

form.append("files[1]file", "/home/mshzsh/Pictures/photo.jpg");
您应该使用文件输入来选择文件,然后将该文件附加到表单数据中


本主题可能对您有所帮助:

这是否回答了您的问题@Prabhjotsinghkaint感谢您的评论。我认为这是针对图像的,但我想使用更多的文件类型“/home/mshzsh/Pictures/photo.jpg”只是一个字符串。它与可能位于该路径的任何文件都没有任何关系。即使浏览器Javascript被阻止访问用户的文件系统,这显然是出于安全原因。谢谢@DanielRoseman,但解决方案是什么?我使用会话来传递文件,因此无法访问文件输入。我不知道会话与此处的任何内容有何关系。你首先需要从某个地方上传文件。同意如果没有任何文件上传控制,使用AJAX上传文件是不可能的。如果有人想异步上传,他/她可以使用iFrame。感谢您的回答,我使用会话将文件传递到其他页面,并最终将文件地址发送到Ajax。这些代码在Postman和Curl中正常工作,但在Ajax中不工作
form.append("files[1]file", "/home/mshzsh/Pictures/photo.jpg");