feat: add image upload functionality for articles
- Implemented image upload API in the article service, allowing users to upload images associated with articles. - Added validation for image size and type, ensuring only supported formats (PNG, JPG, GIF, WebP) are accepted. - Created a new Aliyun object storage client to handle image storage and retrieval. - Updated the article handler to include an endpoint for image uploads. - Enhanced error handling for image upload failures and added relevant error messages. - Introduced public URL generation for stored images, allowing access via signed tokens. - Updated localization files to include new messages related to image upload functionality. - Added tests for image upload and retrieval processes.
This commit is contained in:
@@ -138,6 +138,11 @@ async function handlePublish(): Promise<void> {
|
||||
publishModalOpen.value = true;
|
||||
}
|
||||
|
||||
async function uploadEditorImage(file: File): Promise<string> {
|
||||
const result = await articlesApi.uploadImage(articleId.value, file);
|
||||
return result.url;
|
||||
}
|
||||
|
||||
async function handlePublished(): Promise<void> {
|
||||
await Promise.all([
|
||||
detailQuery.refetch(),
|
||||
@@ -273,6 +278,7 @@ function serializePlatformSelection(platformIds: string[]): string {
|
||||
v-model:title="title"
|
||||
v-model="markdown"
|
||||
:disabled="editorLocked"
|
||||
:upload-image="uploadEditorImage"
|
||||
/>
|
||||
</MilkdownProvider>
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user