【问题标题】:Posting Blob Image using Ajax FormData使用 Ajax FormData 发布 Blob 图像
【发布时间】:2014-04-21 16:39:31
【问题描述】:

我的数据发送到数据库没有问题,但是将我的照片发布到我的数据库中的 BLOB 字段的“文件”输入没有发布。我收到一个错误。

我的代码如下:

   $(function(){
   $('#Userform').submit(function(event){
     var fd = new FormData( $(this)[0] );
   $.ajax({
     type: 'POST',
     processData: false,
     contentType: false,
         async: false,
         cache: true,
     data: fd,
     dataType: "text",
     url: 'mydburl.php',
        success: function(data){
        alert( data );
        alert('User successfully added');
     },
     error: function(){
        alert('There was an error adding New User');
     }
     });
     return false;

如何附加我的数据以包含我的照片“文件”输入?任何想法都会有所帮助。我输入的名称只是“照片”。如果没有 AJAX,它在发送到表单时可以正常发布,但是因为我正在为设备开发,所以我需要 ajax 来处理我的表单数据。任何想法都会有所帮助。

谢谢!

【问题讨论】:

  • 您是否尝试将内容类型更改为八位字节/应用程序之类的内容?还是离开它?
  • 是的。我尝试了应用程序/八位字节,但它使我的表单无法运行。我在控制台中也没有收到任何错误。

标签: php ajax form-data


【解决方案1】:

我原来的答案是错误的。现在编辑:

尝试从您的 ajax 请求中删除 dataType: "text" 行。

来源:https://developer.mozilla.org/en-US/docs/Web/Guide/Using_FormData_Objects

【讨论】:

  • 另外,删除cache: true,因为您想确保在这种情况下没有缓存任何内容
  • 非常接近...我现在收到:通知:未定义索引:/data/24/3/17/29/3343681/ 中的照片user/3730590/htdocs/mypath/... 删除缓存后的 this: true 和 dataType: "text"
  • 在 PHP 中,文件上传不会进入$_POST,如果那是您正在检查的数组。尝试读取 $_FILES 数组 (php.net/manual/en/reserved.variables.files.php)
  • 是的,我知道,我的照片发布使用:$photo =($_FILES['photo']['name']);但仍然是同样的错误。
  • 如果您使用 FireBug 或 Chrome Inspector 检查 HTTP 请求,您会看到哪些数据进入服务器?您可以选择“保留”数据,这样数据在您调查时不会被清除。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-01
  • 1970-01-01
  • 2021-06-09
  • 1970-01-01
  • 2015-04-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多