Edit and copy image in Laravel [ Can't write image data to path ]












0















I have created the following 4 model and its table structure for my project:



Media.php To upload images in app




Medias table structure




id | path



Example of path:uploads/images/media/food-1542110154.jpg



Post.php Create post




Posts table structure




id | title | content



FeaturedImage.php Featured image for post




Posts table structure




id | post_id| path




Post model and FeaturedImage model are in a one-to-one relationship




UploadImage.php To resize the uploaded image and move it to another directory. This model doesn't have migration and controller



Code snippet from PostsController.php to create the post



use AppUploadImage;
use AppMedia;
class PostController extends Controller
{
private $imagePath= "uploads/images/post/";
public function store(Request $request)
{
$post = new Post;
$post->title = $request->title;
$post->content = $request->content;
$post->save();

$media = Media::find($request->featured);
if (!File::exists($this->imagePath)) {
File::makeDirectory($this->imagePath);
}
$upload = new UploadImage;
$image= $upload->uploadSingle($this->banner, $media->path, 400,300);
$post->image()->save(new FeaturedImage([
'path' => $image
]));

}
Session::flash('success', 'Post created sucessfully !');
return redirect()->route('post.index');
}


Code snippet from UploadImage.php



use InterventionImageFacadesImage;
use SpatieLaravelImageOptimizerFacadesImageOptimizer;
use IlluminateDatabaseEloquentModel;
class UploadImage extends Model
{

public function uploadSingle($savePath, $image,$width,$height)
{
Image::make(public_path($image))->fit($width, $height)->save($savePath);
ImageOptimizer::optimize($savePath);
return $savePath;
}
}


In my Laravel app, I'm trying to edit dimension of the already uploaded image with method written in UploadImage.php and save edited image in post directory and save its path in featured_images table.



But I've been getting **Can't to write image data to path ** error.



I would be very thankful if anyone could point out the mistakes that I've made.




Please do not mark this as duplicate content. As I've been gone through almost all posts related to this kind of error and they have been no help to me.











share|improve this question

























  • forget about my previous comment, what is $media->path? Shouldn't it be $this->imagePath ?

    – Taha Paksu
    Nov 14 '18 at 10:37








  • 1





    public_path to save the images ? usually we use storage_path ... public path is http's user writable ?

    – simonecosci
    Nov 14 '18 at 11:47











  • @TahaPaksu $media->path is the path of original image that has been alreadey uploaded.

    – Tanja Forsberg
    Nov 16 '18 at 8:22
















0















I have created the following 4 model and its table structure for my project:



Media.php To upload images in app




Medias table structure




id | path



Example of path:uploads/images/media/food-1542110154.jpg



Post.php Create post




Posts table structure




id | title | content



FeaturedImage.php Featured image for post




Posts table structure




id | post_id| path




Post model and FeaturedImage model are in a one-to-one relationship




UploadImage.php To resize the uploaded image and move it to another directory. This model doesn't have migration and controller



Code snippet from PostsController.php to create the post



use AppUploadImage;
use AppMedia;
class PostController extends Controller
{
private $imagePath= "uploads/images/post/";
public function store(Request $request)
{
$post = new Post;
$post->title = $request->title;
$post->content = $request->content;
$post->save();

$media = Media::find($request->featured);
if (!File::exists($this->imagePath)) {
File::makeDirectory($this->imagePath);
}
$upload = new UploadImage;
$image= $upload->uploadSingle($this->banner, $media->path, 400,300);
$post->image()->save(new FeaturedImage([
'path' => $image
]));

}
Session::flash('success', 'Post created sucessfully !');
return redirect()->route('post.index');
}


Code snippet from UploadImage.php



use InterventionImageFacadesImage;
use SpatieLaravelImageOptimizerFacadesImageOptimizer;
use IlluminateDatabaseEloquentModel;
class UploadImage extends Model
{

public function uploadSingle($savePath, $image,$width,$height)
{
Image::make(public_path($image))->fit($width, $height)->save($savePath);
ImageOptimizer::optimize($savePath);
return $savePath;
}
}


In my Laravel app, I'm trying to edit dimension of the already uploaded image with method written in UploadImage.php and save edited image in post directory and save its path in featured_images table.



But I've been getting **Can't to write image data to path ** error.



I would be very thankful if anyone could point out the mistakes that I've made.




Please do not mark this as duplicate content. As I've been gone through almost all posts related to this kind of error and they have been no help to me.











share|improve this question

























  • forget about my previous comment, what is $media->path? Shouldn't it be $this->imagePath ?

    – Taha Paksu
    Nov 14 '18 at 10:37








  • 1





    public_path to save the images ? usually we use storage_path ... public path is http's user writable ?

    – simonecosci
    Nov 14 '18 at 11:47











  • @TahaPaksu $media->path is the path of original image that has been alreadey uploaded.

    – Tanja Forsberg
    Nov 16 '18 at 8:22














0












0








0








I have created the following 4 model and its table structure for my project:



Media.php To upload images in app




Medias table structure




id | path



Example of path:uploads/images/media/food-1542110154.jpg



Post.php Create post




Posts table structure




id | title | content



FeaturedImage.php Featured image for post




Posts table structure




id | post_id| path




Post model and FeaturedImage model are in a one-to-one relationship




UploadImage.php To resize the uploaded image and move it to another directory. This model doesn't have migration and controller



Code snippet from PostsController.php to create the post



use AppUploadImage;
use AppMedia;
class PostController extends Controller
{
private $imagePath= "uploads/images/post/";
public function store(Request $request)
{
$post = new Post;
$post->title = $request->title;
$post->content = $request->content;
$post->save();

$media = Media::find($request->featured);
if (!File::exists($this->imagePath)) {
File::makeDirectory($this->imagePath);
}
$upload = new UploadImage;
$image= $upload->uploadSingle($this->banner, $media->path, 400,300);
$post->image()->save(new FeaturedImage([
'path' => $image
]));

}
Session::flash('success', 'Post created sucessfully !');
return redirect()->route('post.index');
}


Code snippet from UploadImage.php



use InterventionImageFacadesImage;
use SpatieLaravelImageOptimizerFacadesImageOptimizer;
use IlluminateDatabaseEloquentModel;
class UploadImage extends Model
{

public function uploadSingle($savePath, $image,$width,$height)
{
Image::make(public_path($image))->fit($width, $height)->save($savePath);
ImageOptimizer::optimize($savePath);
return $savePath;
}
}


In my Laravel app, I'm trying to edit dimension of the already uploaded image with method written in UploadImage.php and save edited image in post directory and save its path in featured_images table.



But I've been getting **Can't to write image data to path ** error.



I would be very thankful if anyone could point out the mistakes that I've made.




Please do not mark this as duplicate content. As I've been gone through almost all posts related to this kind of error and they have been no help to me.











share|improve this question
















I have created the following 4 model and its table structure for my project:



Media.php To upload images in app




Medias table structure




id | path



Example of path:uploads/images/media/food-1542110154.jpg



Post.php Create post




Posts table structure




id | title | content



FeaturedImage.php Featured image for post




Posts table structure




id | post_id| path




Post model and FeaturedImage model are in a one-to-one relationship




UploadImage.php To resize the uploaded image and move it to another directory. This model doesn't have migration and controller



Code snippet from PostsController.php to create the post



use AppUploadImage;
use AppMedia;
class PostController extends Controller
{
private $imagePath= "uploads/images/post/";
public function store(Request $request)
{
$post = new Post;
$post->title = $request->title;
$post->content = $request->content;
$post->save();

$media = Media::find($request->featured);
if (!File::exists($this->imagePath)) {
File::makeDirectory($this->imagePath);
}
$upload = new UploadImage;
$image= $upload->uploadSingle($this->banner, $media->path, 400,300);
$post->image()->save(new FeaturedImage([
'path' => $image
]));

}
Session::flash('success', 'Post created sucessfully !');
return redirect()->route('post.index');
}


Code snippet from UploadImage.php



use InterventionImageFacadesImage;
use SpatieLaravelImageOptimizerFacadesImageOptimizer;
use IlluminateDatabaseEloquentModel;
class UploadImage extends Model
{

public function uploadSingle($savePath, $image,$width,$height)
{
Image::make(public_path($image))->fit($width, $height)->save($savePath);
ImageOptimizer::optimize($savePath);
return $savePath;
}
}


In my Laravel app, I'm trying to edit dimension of the already uploaded image with method written in UploadImage.php and save edited image in post directory and save its path in featured_images table.



But I've been getting **Can't to write image data to path ** error.



I would be very thankful if anyone could point out the mistakes that I've made.




Please do not mark this as duplicate content. As I've been gone through almost all posts related to this kind of error and they have been no help to me.








php laravel laravel-5.7






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 14 '18 at 10:28









Khalifa Nikzad

79413




79413










asked Nov 14 '18 at 10:13









Tanja ForsbergTanja Forsberg

351215




351215













  • forget about my previous comment, what is $media->path? Shouldn't it be $this->imagePath ?

    – Taha Paksu
    Nov 14 '18 at 10:37








  • 1





    public_path to save the images ? usually we use storage_path ... public path is http's user writable ?

    – simonecosci
    Nov 14 '18 at 11:47











  • @TahaPaksu $media->path is the path of original image that has been alreadey uploaded.

    – Tanja Forsberg
    Nov 16 '18 at 8:22



















  • forget about my previous comment, what is $media->path? Shouldn't it be $this->imagePath ?

    – Taha Paksu
    Nov 14 '18 at 10:37








  • 1





    public_path to save the images ? usually we use storage_path ... public path is http's user writable ?

    – simonecosci
    Nov 14 '18 at 11:47











  • @TahaPaksu $media->path is the path of original image that has been alreadey uploaded.

    – Tanja Forsberg
    Nov 16 '18 at 8:22

















forget about my previous comment, what is $media->path? Shouldn't it be $this->imagePath ?

– Taha Paksu
Nov 14 '18 at 10:37







forget about my previous comment, what is $media->path? Shouldn't it be $this->imagePath ?

– Taha Paksu
Nov 14 '18 at 10:37






1




1





public_path to save the images ? usually we use storage_path ... public path is http's user writable ?

– simonecosci
Nov 14 '18 at 11:47





public_path to save the images ? usually we use storage_path ... public path is http's user writable ?

– simonecosci
Nov 14 '18 at 11:47













@TahaPaksu $media->path is the path of original image that has been alreadey uploaded.

– Tanja Forsberg
Nov 16 '18 at 8:22





@TahaPaksu $media->path is the path of original image that has been alreadey uploaded.

– Tanja Forsberg
Nov 16 '18 at 8:22












1 Answer
1






active

oldest

votes


















0














Tweaked few lines in my UploadImage.php model and got it solved.



public  function  uploadSingle($savePath, $image,$width,$height)
{
$filename = basename($image);
$location = $savePath . $filename;
Image::make($image)->save($location);
ImageOptimizer::optimize($location);
return $location;
}





share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53297717%2fedit-and-copy-image-in-laravel-cant-write-image-data-to-path%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Tweaked few lines in my UploadImage.php model and got it solved.



    public  function  uploadSingle($savePath, $image,$width,$height)
    {
    $filename = basename($image);
    $location = $savePath . $filename;
    Image::make($image)->save($location);
    ImageOptimizer::optimize($location);
    return $location;
    }





    share|improve this answer




























      0














      Tweaked few lines in my UploadImage.php model and got it solved.



      public  function  uploadSingle($savePath, $image,$width,$height)
      {
      $filename = basename($image);
      $location = $savePath . $filename;
      Image::make($image)->save($location);
      ImageOptimizer::optimize($location);
      return $location;
      }





      share|improve this answer


























        0












        0








        0







        Tweaked few lines in my UploadImage.php model and got it solved.



        public  function  uploadSingle($savePath, $image,$width,$height)
        {
        $filename = basename($image);
        $location = $savePath . $filename;
        Image::make($image)->save($location);
        ImageOptimizer::optimize($location);
        return $location;
        }





        share|improve this answer













        Tweaked few lines in my UploadImage.php model and got it solved.



        public  function  uploadSingle($savePath, $image,$width,$height)
        {
        $filename = basename($image);
        $location = $savePath . $filename;
        Image::make($image)->save($location);
        ImageOptimizer::optimize($location);
        return $location;
        }






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 16 '18 at 8:50









        Tanja ForsbergTanja Forsberg

        351215




        351215






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53297717%2fedit-and-copy-image-in-laravel-cant-write-image-data-to-path%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            鏡平學校

            ꓛꓣだゔៀៅຸ໢ທຮ໕໒ ,ໂ'໥໓າ໼ឨឲ៵៭ៈゎゔit''䖳𥁄卿' ☨₤₨こゎもょの;ꜹꟚꞖꞵꟅꞛေၦေɯ,ɨɡ𛃵𛁹ޝ޳ޠ޾,ޤޒޯ޾𫝒𫠁သ𛅤チョ'サノބޘދ𛁐ᶿᶇᶀᶋᶠ㨑㽹⻮ꧬ꧹؍۩وَؠ㇕㇃㇪ ㇦㇋㇋ṜẰᵡᴠ 軌ᵕ搜۳ٰޗޮ޷ސޯ𫖾𫅀ल, ꙭ꙰ꚅꙁꚊꞻꝔ꟠Ꝭㄤﺟޱސꧨꧼ꧴ꧯꧽ꧲ꧯ'⽹⽭⾁⿞⼳⽋២៩ញណើꩯꩤ꩸ꩮᶻᶺᶧᶂ𫳲𫪭𬸄𫵰𬖩𬫣𬊉ၲ𛅬㕦䬺𫝌𫝼,,𫟖𫞽ហៅ஫㆔ాఆఅꙒꚞꙍ,Ꙟ꙱エ ,ポテ,フࢰࢯ𫟠𫞶 𫝤𫟠ﺕﹱﻜﻣ𪵕𪭸𪻆𪾩𫔷ġ,ŧآꞪ꟥,ꞔꝻ♚☹⛵𛀌ꬷꭞȄƁƪƬșƦǙǗdžƝǯǧⱦⱰꓕꓢႋ神 ဴ၀க௭எ௫ឫោ ' េㇷㇴㇼ神ㇸㇲㇽㇴㇼㇻㇸ'ㇸㇿㇸㇹㇰㆣꓚꓤ₡₧ ㄨㄟ㄂ㄖㄎ໗ツڒذ₶।ऩछएोञयूटक़कयँृी,冬'𛅢𛅥ㇱㇵㇶ𥄥𦒽𠣧𠊓𧢖𥞘𩔋цѰㄠſtʯʭɿʆʗʍʩɷɛ,əʏダヵㄐㄘR{gỚṖḺờṠṫảḙḭᴮᵏᴘᵀᵷᵕᴜᴏᵾq﮲ﲿﴽﭙ軌ﰬﶚﶧ﫲Ҝжюїкӈㇴffצּ﬘﭅﬈軌'ffistfflſtffतभफɳɰʊɲʎ𛁱𛁖𛁮𛀉 𛂯𛀞నఋŀŲ 𫟲𫠖𫞺ຆຆ ໹້໕໗ๆทԊꧢꧠ꧰ꓱ⿝⼑ŎḬẃẖỐẅ ,ờỰỈỗﮊDžȩꭏꭎꬻ꭮ꬿꭖꭥꭅ㇭神 ⾈ꓵꓑ⺄㄄ㄪㄙㄅㄇstA۵䞽ॶ𫞑𫝄㇉㇇゜軌𩜛𩳠Jﻺ‚Üမ႕ႌႊၐၸဓၞၞၡ៸wyvtᶎᶪᶹစဎ꣡꣰꣢꣤ٗ؋لㇳㇾㇻㇱ㆐㆔,,㆟Ⱶヤマފ޼ޝަݿݞݠݷݐ',ݘ,ݪݙݵ𬝉𬜁𫝨𫞘くせぉて¼óû×ó£…𛅑הㄙくԗԀ5606神45,神796'𪤻𫞧ꓐ㄁ㄘɥɺꓵꓲ3''7034׉ⱦⱠˆ“𫝋ȍ,ꩲ軌꩷ꩶꩧꩫఞ۔فڱێظペサ神ナᴦᵑ47 9238їﻂ䐊䔉㠸﬎ffiﬣ,לּᴷᴦᵛᵽ,ᴨᵤ ᵸᵥᴗᵈꚏꚉꚟ⻆rtǟƴ𬎎

            Why https connections are so slow when debugging (stepping over) in Java?