画像のアップロード
1分以内...
このクックブックでは、コメントで画像をアップロードするための独自の画像サービスを設定する方法を説明します。
@waline/client は imageUploader オプションを提供しています。クライアントから渡される画像オブジェクトは自身で処理し、画像をアップロードした後に Promise 経由で画像のアドレスを返してください。
デモ
lsky-pro の画像ホスティングサービスを使った例です。
<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Waline imageUploader demo</title>
<link rel="stylesheet" href="https://unpkg.com/@waline/client@v3/dist/waline.css" />
</head>
<body>
<div id="waline" style="max-width: 800px; margin: 0 auto"></div>
<script type="module">
import { init } from 'https://unpkg.com/@waline/client@v3/dist/waline.js';
const waline = init({
el: '#waline',
serverURL: 'https://waline.vercel.app',
path: '/',
lang: 'en-US',
imageUploader: (file) => {
let formData = new FormData();
let headers = new Headers();
formData.append('file', file);
headers.append('Authorization', '!{API TOKEN}');
headers.append('Accept', 'application/json');
return fetch('!{API URL}', {
method: 'POST',
headers: headers,
body: formData,
})
.then((resp) => resp.json())
.then((resp) => resp.data.links.url);
},
});
</script>
</body>
</html>TIPS: コメントエリアはデモ用です。質問がある場合は、Github Discussion で質問してください。
