[備忘録] ドラッグアンドドロップでファイルをアップロードする

Laravelでドラッグアンドドロップによるファイルアップロード機能を実装するためには、JavaScriptのライブラリとLaravelのバックエンドを組み合わせて行います。以下の手順で進めることができます。

手順

フロントエンドの準備

JavaScriptのライブラリであるDropzone.jsを使用すると、簡単にドラッグアンドドロップのインターフェースを作成できます。

Dropzone.jsをインストールします。CDNから直接インポートするか、npmやyarnを使用してインストールできます。

<!-- CDNからインポートする場合 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.7.2/dropzone.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.7.2/dropzone.min.js"></script>


  • HTMLにドロップゾーンを作成します。

<form action="/upload" class="dropzone" id="my-dropzone"></form>

  • JavaScriptでDropzoneを初期化します。

<script>
  Dropzone.options.myDropzone = {
    paramName: "file", // ファイルパラメータ名
    maxFilesize: 2, // ファイルサイズの最大値 (MB単位)
    acceptedFiles: ".jpeg,.jpg,.png,.gif", // 受け付けるファイルタイプ
    success: function(file, response) {
      console.log("File uploaded successfully");
    },
    error: function(file, response) {
      console.error("File upload failed");
    }
  };
</script>

Laravelのバックエンドの設定
ファイルを受け取るエンドポイントをLaravelに作成します。

  • ルートを設定します。

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\FileUploadController;

Route::post('/upload', [FileUploadController::class, 'upload'])->name('file.upload');

  • コントローラを作成します。

php artisan make:controller FileUploadController

  • コントローラでアップロード処理を実装します。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;

class FileUploadController extends Controller
{
    public function upload(Request $request)
    {
        $request->validate([
            'file' => 'required|mimes:jpeg,jpg,png,gif|max:2048',
        ]);

        $file = $request->file('file');
        $path = $file->store('uploads', 'public');

        return response()->json(['path' => $path], 200);
    }
}

ストレージの設定

  • publicディスクを設定し、storageフォルダのシンボリックリンクを作成

php artisan storage:link

完成したコード

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.7.2/dropzone.min.css">
    <title>File Upload</title>
</head>
<body>
    <form action="/upload" class="dropzone" id="my-dropzone"></form>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.7.2/dropzone.min.js"></script>
    <script>
        Dropzone.options.myDropzone = {
            paramName: "file",
            maxFilesize: 2,
            acceptedFiles: ".jpeg,.jpg,.png,.gif",
            success: function(file, response) {
                console.log("File uploaded successfully");
            },
            error: function(file, response) {
                console.error("File upload failed");
            }
        };
    </script>
</body>
</html>




Laravelのルートとコントローラ

// web.php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\FileUploadController;

Route::post('/upload', [FileUploadController::class, 'upload'])->name('file.upload');
// FileUploadController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;

class FileUploadController extends Controller
{
    public function upload(Request $request)
    {
        $request->validate([
            'file' => 'required|mimes:jpeg,jpg,png,gif|max:2048',
        ]);

        $file = $request->file('file');
        $path = $file->store('uploads', 'public');

        return response()->json(['path' => $path], 200);
    }
}

このようにして、LaravelとDropzone.jsを使ってドラッグアンドドロップによるファイルアップロード機能を実装できます。

[備忘録]ローカルで管理しているgitのプロジェクトをbitbucketのプロジェクトとして共有する

ローカルで管理しているGitプロジェクトをBitbucketに共有するには、以下の手順を実行します。これには、Bitbucketアカウントの作成、リポジトリの作成、そしてローカルリポジトリのBitbucketリポジトリにプッシュする手順が含まれます。

Bitbucketアカウントの作成

もしまだアカウントを持っていない場合、Bitbucketの公式サイトにアクセスし、アカウントを作成してください。

Bitbucketリポジトリの作成

  1. Bitbucketにログイン後、ダッシュボードから「Create repository」をクリックします。
  2. リポジトリ名、プロジェクト名、アクセスレベル(パブリックまたはプライベート)を設定します。
  3. 「Create repository」をクリックします。

ローカルリポジトリのBitbucketリポジトリに接続

Bitbucketでリポジトリを作成すると、リポジトリの概要ページに「Command line instructions」が表示されます。これに従って、ローカルリポジトリをBitbucketリポジトリに接続します。

新しいリポジトリの場合

まだGitリポジトリとして初期化されていないプロジェクトの場合:

# プロジェクトディレクトリに移動
cd /path/to/your/project

# Gitリポジトリを初期化
git init

# ファイルを追加
git add .

# コミットを作成
git commit -m "Initial commit"

# リモートリポジトリを追加
git remote add origin https://<username>@bitbucket.org/<username>/<repository-name>.git

# リモートリポジトリにプッシュ
git push -u origin master

既存のリポジトリの場合

既にGitリポジトリとして初期化されているプロジェクトの場合:

# プロジェクトディレクトリに移動
cd /path/to/your/project

# リモートリポジトリを追加
git remote add origin https://<username>@bitbucket.org/<username>/<repository-name>.git

# 変更をプッシュ
git push -u origin master

4. リモートリポジトリへのアクセス

これで、ローカルリポジトリがBitbucketのリポジトリに接続され、リモートリポジトリにプッシュすることができるようになります。今後は、変更をコミットした後、以下のコマンドで変更をBitbucketにプッシュします:

git push

まとめ

これらの手順に従うことで、ローカルで管理しているGitプロジェクトをBitbucketに共有することができます。何か問題が発生した場合や、追加のサポートが必要な場合は教えてください。

新機能リリース:キリンツールでアイキャッチ画像を自動生成!

🌟 親愛なる読者の皆様へ、私たちのキリンツールがまた一つ新たな地平を切り開きました!この度、ブログやウェブサイトのアイキャッチを瞬時に作成できる革新的な機能が加わりました。これは、OpenAIの最新APIを駆使して実現された、まさに未来のテクノロジーです。

🎨 クリエイティビティの新境地
この新機能により、皆さんの記事はもっと目を引くものになるでしょう。必要なのは、あなたの記事の主旨やキーワードだけ。あとはキリンツールが、その内容にぴったり合ったアイキャッチを自動生成します。

⏱️ 時間は貴重です
時間をかけてデザインを考える必要はもうありません。数秒でプロフェッショナルなビジュアルが手に入ります。これで、コンテンツ作成により集中できる時間が増えます。

🌈 無限の可能性
OpenAIのAPIを利用することで、想像力の限界を超えた多様なビジュアルが生み出されます。どんなテーマにもマッチするアイキャッチを、簡単に、迅速に。

💡 さあ、始めましょう
今すぐキリンツールを使って、あなたのブログを次のレベルへと引き上げましょう。簡単操作で、ビジュアルコミュニケーションのプロになることができます。今日から、あなたのストーリーをもっと美しく、もっと魅力的に伝えましょう!

キリンツールで、あなたのコンテンツ作成をサポートします。

まだきりんツールを利用していない方はこちら↓
https://kirintool.jp/

きりんツールメンテナンスのお知らせ

本日11月22日(水)20:00から23日(木)にかけてきりんツールのメンテナンスを行います。

ツールにアクセス出来ない時間帯は20時〜22時となります。

作業時間は前後する場合がございます。

メンテナンス後、APIのバージョンが最新となります。より高度なAIを体験できることになります。

また、新機能として画像APIを利用したアイキャッチ画像生成の機能が追加されます。

11月22日(水)時点できりんツールを利用しているお客様は、これまで通りの利用プランでこちらの新機能が利用可能です。

より洗練されたAIをお楽しみ下さい。

引き続き、きりんツールを何卒よろしくお願いします。

[きりんツール] ChatGPT(OpenAI)のAPIキーの取得方法

2023年9月にきりんツールの新機能として大量の記事投稿を前提にした無限記事作成(仮)の機能が追加される予定です。

最近の話題の大量の記事を作成して稼ぐという手法に合わせてキーワードのリサーチやライバル判定などの処理を省き、とにかくたくさんの記事を作成することに特化した機能となっています。

本機能の利用にはきりんツール利用者様自身のChatGPT(OpenAI)のAPIキーとAPIを利用するためのOrganization IDの2つのキーが必要です。

本ページでそれぞれのキーの取得方法を解説します。

なお、各画面やURLなどは本記事執筆時点(2023年8月)でのものとなりますので、必要に応じて読み替えてください。

APIキーの取得方法

ChatGPTのアカウントページ内のAPI-Keysのページに移動してください。以下のURLからもアクセスできます。
https://platform.openai.com/account/api-keys

Create new secret keyのボタンを押して新しいAPIキーを発行します。

キーの名前は適当で構いません。特にこだわりがなければkirinと入力しておきましょう。

create secret keyを押すとAPIキーが発行されます。

上記画像はモザイク処理をしていますが、ここにあなたのAPIキーが表示されています。キーの横のコピーボタンを押してAPIキーをコピーできます。

Organization IDの取得方法

Organization IDの取得は簡単です。

同様にChatGPTのアカウントページからSettingsのページに移動しましょう。以下のURLからもアクセスできます。
https://platform.openai.com/account/org-settings

Organization IDの欄に表示されているものがあなたのOrganization IDです。

これらのAPIキーとOrganization IDをきりんツール利用時に使用してください。

きりんツールに大量の記事を投稿してもらってSEO1位を狙いつつ賢く稼ぐ方法

きりんツールがついにインフォトップの商品ランキング1位になりました。

実は結構前から時々1位だったりしていたのですが、スクリーンショットなどを取り忘れていたりして発表のタイミングを逃していたんですね。

きりんツール自体にきりんツールをアフィリエイトする機能が組み込まれていて、売上の大半はアフィリエイターからの紹介による売上です。

中には既に100万円以上稼いでいるアフィリエイター様もいるので、皆様の売上に貢献出来てよかったと思っています。

さて、そんなきりんツールですがラッキーマインチャンネルでまた新しいテクニックを紹介していただきました。

簡単に説明するときりんツールに大量の記事を書いてもらって稼ぐという方法になります。

休み無しで記事を書かせ続けることが可能なAIのメリットを最大限に活かした効率的なテクニックで、現在きりんツール運営チームでもこのテクニックを活用した新しい稼ぎ方も研究中です。

この動画をみて是非あなたのビジネスを加速させて下さい!

【きりんツール】生成文章の文字数を増やしました

今月頭に申し込みが殺到し、ChatGPTのAPIの通信不具合などの問題が発生していました。

プログラム処理を見直して問題を改善するとともに、一部のプランの新規申し込みの停止などを行い、直近の一週間では安定した動作をしています。

それに伴い、先程兼ねてから要望の多かった「記事の文字数を増やしてほしい」という意見に合わせて全体的にブログ記事の文章の文字数を増加させてみました。

これまでは最大6000文字の指定をしていましたが、現在は8000文字まで増加させています。

記事の構成などで必ず8000文字になるわけではありませんが、これまでの記事のボリュームに対して約3割ほど文章量が増えることになります。

一週間ほど様子を見て、問題がなければこの文字数を基本の文字数にしていく予定です。

また、安定運用が続けば、今後ChatGPTに対して高度な命令を与えられる機能も実装予定です。

これにより、AIに対して例えば「あなたは政治評論家です。」や「あなたはお笑い芸人です。」のように記事に個性をもたせてオリジナリティの高い文章が作成できるようになります。

技術的には実現可能な機能ですので、なるべく早い段階で実装したいと考えております。

今後のきりんツールの進化にご期待下さい。

きりんツールの使い方

きりんツールのメインとなる機能として、「キーワードリサーチ」と「ブログ用記事の自動作成」の機能があります。

キーワードリサーチでは、
メインキーワードと第2キーワードの2語からなる複合ワードで、SEOの競合となるライバル記事の存在や検索ボリュームの測定をチェックします。

例えば、メインキーワードが芸能人名であれば、第2キーワードは「結婚」や「本名」のようなキーワードが相性がいいでしょう。

ライバルが少なく、検索ボリュームが多いキーワードの組み合わせが見つかったら、後は記事を作成すればOK。

きりんツールでは文章作成AIとして評価の高いChatGPTを採用しています。

大まかな操作の流れを説明した動画がこちらになります↓

※ 一部画面は開発中のものになっていますので、適宜読み替えて下さい。

難しい操作では無いと思いますので、まずは思いつくキーワードをいくつか入力してみて動作の感覚を掴んで見てください。

現在要望が上がっている機能として、作成される記事の文字数の個別設定や多言語対応などがあります。

できる限り頂いた要望には応えていきたいと思っていますので、新機能の実装も楽しみにしていて下さい。

きりんツールの使い方応用編

ラッキーマインチャンネルの動画できりんツールの実践的な使い方が紹介されましたので、ご紹介させていただきます。

実際の9:00辺りから具体的な説明になります。

きりんツールのAIには話題のChatGPTを導入しています。

非常に優秀なAIではあるのですが、AIならではの弱点もいくつかあります。

例えば、ChatGPTでは特定の日時以前の情報に基づき文章を作成しますので、最新の時事ネタなどは出力することができません。

また、事実と異なる文章を作成することもあり得ますので、扱うテーマによっては不適切な文章になってしまう場合もあります。

本動画では、学校の怪談的な話題を出力する方法を丁寧に説明していますので、是非参考にしてください。

きりんツールの文章作成の不具合について

きりんツールをご利用いただきありがとうございます。

只今きりんツールの文章作成機能に不具合が発生しております。

利用者が集中したことが原因でAPIの通信が正常に行えていないことが原因です。

早急に対応いたしますので、しばらくお待ち下さい。

ご迷惑をお掛けして大変申し訳ございません。

今後ともきりんツールを何卒宜しくお願いします。