Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // PHP
- public function upload_media_src($media_id, Request $request){
- // dd(request()->all());
- $media = \App\Media::find($media_id);
- if($request->hasfile('file'))
- {
- // dd('working');
- $file = $request->file('file');
- $response = \App\Model::ajaxUploadFile($field_instance = $file, $save_title=$media->name, $path = 'uploads/media_srcs/', $class="");
- return response()->json($response);
- }
- }
- public static function ajaxUploadFile($field_instance = null, $save_title='', $path = 'uploads/media_srcs/', $class=""){
- //dd($field_name);
- if($field_instance){
- // dd($field_instance);
- $extension = $field_instance->getClientOriginalExtension(); // getting image extension
- $filename = remove_space_dots_replace_underscore($save_title) . '_' . time() . mt_rand(1000, 9999) . '.'.$extension;
- $field_instance->move(public_path($path), $filename);
- $output = array(
- 'success' => 'Image uploaded successfully',
- 'image' => '<img src="/'.$path.'/'.$filename.'" class="'.$class.'" />',
- 'uploaded_name' => $filename
- );
- return $output;
- }
- return null;
- }
- // JAVASCRIPT
- uploadAndAddToList.on("click", function(e) {
- e.preventDefault();
- // https://www.bladephp.co/file-upload-laravel5-using-ajax
- var progressBar = $('.progress-bar');
- var media_id = type_id_selector.attr('media_id');
- var selected_type_id = type_id_selector.children("option:selected").val();
- console.log('working');
- // return;
- var extension = $('.file_src').val().split('.').pop().toLowerCase();
- if ($.inArray(extension, ['mp4']) == -1) {
- $('#errormessage').html('Please Select Valid File... ');
- } else {
- var file_data = $('.file_src').prop('files')[0];
- // console.log(file_data);
- // var supplier_name = $('#supplier_name').val();
- var form_data = new FormData();
- // form_data.filterle = file_data;
- // form_data.file = file_data;
- // form_data.type_id = selected_type_id;
- form_data.append("file", file_data);
- form_data.append("type_id", selected_type_id);
- // console.log(form_data);
- // return;
- // $.ajaxSetup({
- // headers: {
- // 'X-CSRF-Token': $('meta[name=_token]').attr('content')
- // }
- // });
- // console.log(form_data);
- // $.post("/admin/medias/"+media_id+"/media_srcs", {file : form_data.file, type_id : selected_type_id}, function(data, textStatus, xhr) {
- // /*optional stuff to do after success */
- // });
- $.ajax({
- url: "/admin/medias/"+media_id+"/media_srcs", // point to server-side PHP script
- method: 'post',
- data: form_data,
- processData: false,
- contentType: false,
- xhr: function() {
- var xhr = new window.XMLHttpRequest();
- xhr.upload.addEventListener("progress", function(evt) {
- if (evt.lengthComputable) {
- var percentComplete = (evt.loaded / evt.total) * 100;
- //Do something with upload progress here
- $('.progress-bar').text(percentComplete + '%');
- $('.progress-bar').css('width', percentComplete + '%');
- }
- }, false);
- return xhr;
- },
- // uploadProgress:function(event, position, total, percentComplete)
- // {
- // console.log(percentComplete);
- // $('.progress-bar').text(percentComplete + '%');
- // $('.progress-bar').css('width', percentComplete + '%');
- // },
- success: function(data) {
- progressBar.text('Uploaded');
- progressBar.css('width', '100%');
- progressBar.addClass('progress-bar-success');
- $('#errormessage').html('<span class="text-success"><b>'+data.success+'</b></span><br /><br />');
- // $('#success').append(data.image);
- save_to_database(selected_type_id, media_id, data);
- },
- errors: function(data) {
- progressBar.text('0%');
- progressBar.css('width', '0%');
- $('#errormessage').html('<span class="text-danger"><b>'+data.errors+'</b></span>');
- }
- });
- }
- function save_to_database(selected_type_id, media_id, data){
- // console.log(data);
- var file_src_name = data.uploaded_name;
- $.post('/admin/medias/'+media_id+'/store/', {file_src: file_src_name, type_id : selected_type_id}, function(data, textStatus, xhr) {
- /*optional stuff to do after success */
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement