Я хочу загрузить файл на свой сервер. У меня есть следующий код, который я пробовал, но файл не загружается. Я объединяю несколько файлов в один файл, затем после слияния хочу, чтобы файл результатов был загружен. Теперь файлы объединяются в result.docx, но не загружаются автоматически
Я возвращаю полный путь к файлу в ответе ajax
Скрипт
$("#download_specs").click(function(){
var slug = this.getAttribute('data-id');
$.ajax({
url:"{{url('merge-document')}}",
method: 'POST',
headers: {
'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
},
data:{slug:slug} ,
success:function(data){
var zz=document.createElement('a');
zz.href = data;
}
});
});
Контроллер
public function mergeDocuments(Request $request){
$project_slug = $request->input('slug');
$userID = Auth::user()->id;
$files = DB::table('project_specs_files')->select('completed_specs')->where('user_id',$userID)->where('project_slug',$project_slug)->get();
$specs_array = array();
foreach($files as $file){
$ext = pathinfo(public_path(). '\\uploads\\complete_specs\\'.$userID.'\\files\\'.$file->completed_specs, PATHINFO_EXTENSION);
if($ext == 'docx'){
if (file_exists(public_path(). '\\uploads\\complete_specs\\'.$userID.'\\files\\'.$file->completed_specs)){
$specs_array[] = public_path(). '\\uploads\\complete_specs\\'.$userID.'\\files\\'.$file->completed_specs ;
}
}
}
if(!empty($specs_array)){
$dir = public_path(). '\\uploads\\complete_specs\\'.$userID.'\\files\\';
$dm = new DocxMerge();
$dm->merge($specs_array, $dir.'result.docx' );
}else{
return 'Files not supported for merge';
}
return $dir.'result.docx';
}
взамен я получаю 'D:\xampp\zerodocs\public\uploads\complete_specs\4\files\result.docx'