Skip to content

Vizel API / core/src / createVizelImageUploadExtensions

Function: createVizelImageUploadExtensions()

ts
function createVizelImageUploadExtensions(options): (
  | Extension<any, any>
  | Node<ImageOptions, any>
  | Node<VizelResizableImageOptions, any>)[];

Defined in: packages/core/src/extensions/image.ts:120

Create Image extension with upload support (drag-and-drop, paste, file picker).

Parameters

ParameterType
optionsVizelImageUploadOptions

Returns

( | Extension&lt;any, any&gt; | Node&lt;ImageOptions, any&gt; | Node&lt;VizelResizableImageOptions, any&gt;)[]

Example

ts
const extensions = [
  ...createVizelExtensions(),
  ...createVizelImageUploadExtensions({
    upload: {
      onUpload: async (file) => {
        const formData = new FormData();
        formData.append("image", file);
        const res = await fetch("/api/upload", { method: "POST", body: formData });
        return (await res.json()).url;
      },
      maxFileSize: 10 * 1024 * 1024, // 10MB
      onValidationError: (error) => console.error(error.message),
      onUploadError: (error) => console.error(`Upload failed: ${error.message}`),
    },
  }),
];

Released under the MIT License.