当前位置: 首页 > 面试题库 >

Laravel 5 Ajax文件/图像上传

诸葛茂勋
2023-03-14
问题内容

我的laravel ajax应用程序出现问题,

我无法通过ajax POST上传图像/文件。

这是我的代码。

阿贾克斯

/*Add new catagory Event*/
$(".addbtn").click(function(){
$.ajax({
      url:'add-catagory',
      data:{
        logo:new FormData($("#upload_form")[0]),
        },
      dataType:'json',
      async:false,
      type:'post',
      processData: false,
      contentType: false,
      success:function(response){
        console.log(response);
      },
    });
 });
/*Add new catagory Event*/

刀片模板…

 <form enctype="multipart/form-data" id="upload_form" role="form" method="POST" action="" >
      <div class="form-group">
        <label for="catagry_name">Name</label>
         <input type="hidden" name="_token" value="{{ csrf_token()}}">
        <input type="text" class="form-control" id="catagry_name" placeholder="Name">
        <p class="invalid">Enter Catagory Name.</p>
      </div>
      <div class="form-group">
        <label for="catagry_name">Logo</label>
        <input type="file" class="form-control" id="catagry_logo">
        <p class="invalid">Enter Catagory Logo.</p>
    </div>

    </form>
    </div>
    <div class="modelFootr">
      <button type="button" class="addbtn">Add</button>
      <button type="button" class="cnclbtn">Reset</button>
    </div>
  </div>

控制器..

public function catadd(){
    if (Input::hasFile('logo'))
    {
       return "file present";
    }
    else{
        return "file not present";
    }
}

路线..

 Route::post('add-catagory',['as'=>'catagory_add','uses'=>'MastersController@catadd']);

我的代码有什么错误?

我无法在laravel控制器中获取文件信息。

我该如何解决这个问题…?


问题答案:

有两点要更改:

从以下位置更改您的js文件:

 data:{
    logo:new FormData($("#upload_form")[0]),
 },

至:

 data:new FormData($("#upload_form")[0]),

因为您想发送整个表格。

在您的html中:

在文件输入字段中添加名称

<input type="file" class="form-control" id="catagry_logo">

至:

<input type="file" name="logo" class="form-control" id="catagry_logo">


 类似资料:
  • 问题内容: 我正在使用Chrome驱动程序使用nightwatch.js运行前端测试。我需要测试图像上传是否正常工作,大概是通过提供的文件输入来进行的,因为在成功发布后会运行回调。 我知道可以使用Selenium Web驱动程序的sendKeys方法来完成。 您如何使用javascript和nightwatch.js完成此操作?您可以访问Selenium Webdriver或与其相关的界面吗? 问

  • 我在PhoneGap,我必须上传一个图像文件到我的服务器通过选择图像表单设备Galler,为此我尝试了ImagePicker,但没有工作。然后我尝试从打开android设备上的gallery的输入字段中选择文件,但我无法获得其完整的uri路径 请告诉我如何在服务器上上传文件并将上传的配置文件图像显示给用户

  • 我可以上传图片在数据库,但不能上传到“文件”文件夹。万维网 这是图像上传servlet。一旦图像被上传,它就应该被插入到files文件夹中。我不知道我犯了什么错误。谁能告诉我出了什么问题吗?我需要添加上传目录或文件路径C:inside吗?

  • 我试图上传一个图像文件,我得到了使用Imagepicker。 但上面的代码返回以下错误 VERBOSE-2:ui\u dart\u状态。cc(186)]未处理的异常:MissingPluginException(未找到方法任务的实现#通道插件上的startPutFile.flatter.io/firebase_存储)#0 MethodChannel_invokeMethod包:flatter/..

  • 我想将图像上载到子目录(public/uploads)。提交后返回成功,但不保存图像 它返回,这是我需要的,但我找不到上传的文件

  • 我正在创建一个Zend Framework应用程序,用户可以在其中上载配置文件图像。可接受的文件类型为png、jpg和gif。图像最终被存储为用户id和文件扩展名。 我想知道的是,假设用户上传png或gif文件,将文件扩展名更改为jpg是否安全? 这样,所有的配置文件图像都将具有相同的文件扩展名,我只是不确定这样更改文件类型是否是一个好主意。