【问题标题】:codeigniter angular ajax file uploading return null value of filecodeigniter angular ajax文件上传返回文件的空值
【发布时间】:2017-11-04 09:49:38
【问题描述】:

使用 Angular Codeigniter 的 Ajax 文件上传器返回文件数据的空值

$http({
 method: 'POST',
 url: 'add',
 headers: {'Content-Type': false,'data-type': 'json'},


 data: $scope.setting
 }).success(function (data) {
 console.log(data);
 $scope.messageEdit = data;
 $scope.message="";
 });
<form method="POST" enctype="multipart/form-data" ng-submit="submitForm()">
    Select File To Upload:<br />
    <input type="file" name="st_logo" ng-model="setting.file" />
    <br /><br />
    <input type="submit" name="submit" value="Upload"  class="btn btn-success" />
</form>

【问题讨论】:

  • 控制器部分:公共上传函数(){ $postdata = file_get_contents("php://input");$data = json_decode($postdata); $config['upload_path'] = './uploads/';$config['allowed_types'] = 'gif|jpg|png';$config['max_size'] = '2000'; $config['max_width'] = '2000'; $config['max_height'] = '2000'; $this->load->library('upload', $config); if (!$this->upload->do_upload('st_logo'))
  • { $upload_error = array('error' => $this->upload->display_errors()); }else { $upload_data = $this->upload->data();$data['success_msg'] = '
    你的文件 ' 。 $upload_data['file_name'] 。 '上传成功!
    '; }}
  • 添加更多关于您的期望和正在发生的事情的描述。此外,在 cmets 中添加代码看起来不太好。将它们添加到问题本身中。
  • ng-model 不会绑定到 file 类型的输入。您可能需要一个指令来从 &lt;input type="file" 获取文件数据

标签: angularjs ajax codeigniter file uploading


【解决方案1】:

我得到了答案

var myFormData = new FormData();
 var photo=document.getElementById('st_logo');
 var file=photo.files[0];
 console.log(file.name+"   "+file.size);

myFormData.append("currency", $scope.setting.st_currency);
    myFormData.append('bgcolor', $scope.setting.st_billingbgcolor);
    myFormData.append('textcolor', $scope.setting.st_billingtextcolor);
	myFormData.append('logo',file );

【讨论】:

    猜你喜欢
    • 2016-04-16
    • 2015-12-26
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 2011-11-15
    相关资源
    最近更新 更多