Lskypro Upload V2

approved

by 3kk0

Auto upload local images to LskyPro.

1 stars37 downloadsUpdated 1mo agoMIT
View on GitHub

LskyPro Upload V2

An automatic image uploader plugin for Obsidian

English | 简体中文

A lightweight and efficient image uploader plugin for Obsidian,
supporting LskyPro V1 / V2 APIs, multiple upload methods, and batch operations.


🚀 Features

  • Auto Upload: Automatically uploads and replaces pasted images with URLs
  • Multi-Version Support: Fully compatible with LskyPro V1 / V2 APIs
  • Multiple Upload Methods: Supports clipboard, drag-and-drop, right-click menu, and command palette
  • Batch Upload: Upload all local images in the current note with one click
  • Concurrent Upload: Supports low/medium/high concurrency modes for faster batch uploads
  • Smart Processing: Optional network image handling and automatic source file deletion
  • Multi-Language Support: Built-in Chinese and English language switching

📋 Quick Start

Prerequisites

Before using this plugin, make sure you have:

  1. A running and accessible LskyPro image hosting service
  2. Enabled API access in your LskyPro configuration
  3. A valid Access Token (found under User Center → Personal Token)
  4. For V2 version, a valid Storage ID is required (administrators can check through admin panel, users can obtain via API)

Plugin Setup

  1. Open Obsidian → Settings → Community Plugins → LskyPro Upload V2
  2. Fill in the basic configuration fields:
FieldDescription
LskyPro URLExample: https://img.example.com
Access TokenYour LskyPro access token
VersionSelect V1 or V2
Storage IDOptional for V1; Required for V2 (see API Docs)
  1. Advanced options configuration:
FieldDescription
Clipboard Auto UploadAutomatically upload pasted images (desktop only)
Attachment Auto UploadAutomatically process attachment images (mobile only)
Process Network ImagesWhether to process pasted network image links
Network Blacklist DomainsSpecify domains that should not be processed
Fix PathsAutomatically fix file path issues
Apply Image ProcessingWhether to apply image processing rules
Delete Source Files After UploadWhether to delete local files after successful upload
Concurrency ModeNumber of concurrent uploads (low/medium/high)
LanguagePlugin interface language (auto/Chinese/English)

💡 Usage Guide

Clipboard Auto Upload

When you paste an image into the editor, the plugin will:

  1. Automatically upload it to your LskyPro server;
  2. Replace it with a Markdown image link, for example:
![image](https://img.example.com/uploads/2025/xx.png)

Mobile Attachment Auto Upload

When you click the attachment button and select an image file, the plugin will:

  1. Automatically upload it to your LskyPro server;
  2. Replace it with a Markdown image link:
![image](https://img.example.com/uploads/2025/xx.png)

Note: This feature hasn't been thoroughly tested on mobile devices and may have compatibility issues. Further testing and optimization will be conducted after the plugin is published.


Right-Click Upload

Right-click on a local image (in the file explorer or editor),
then choose “Upload to LskyPro” — the plugin will upload it instantly and return the image URL.

Perfect for manually uploading individual attachments.


Drag-and-Drop Upload

Simply drag local image files into the editor.
The plugin will detect the file type and automatically replace it with an image URL in Markdown syntax.


Batch Upload (All Images in Current File)

  1. Open the Command Palette (Ctrl + P or Cmd + P)
  2. Search for and run Upload all images
  3. The plugin scans and uploads all local images in the current note

You can configure concurrency mode (low/medium/high) in settings to significantly improve batch upload speed.


Batch Download

Reverse the process — download all remote images to local storage:
Command: Download all images.


Enable Debug Mode

Need to set the developer mode output mode to Detailed first, then you can enable debug info.

🔍 LskyPro Version Notes

This plugin is based on NekoTarou/lskypro-auto-upload,
with LskyPro V2 API support and automatic response parsing.
Reference: Lsky Pro API Documentation.

FieldLskyPro V1LskyPro V2
Storage ConfigOptional (if only one strategy exists)Required (must specify correct storage ID)
Token AuthUser TokenUser Token
API Endpoint/api/v1/upload/api/v2/upload

⚠️ Notes

  1. After updating, restart Obsidian to ensure new features take effect
  2. Upload failures are usually caused by network instability or expired tokens
  3. Keep your token secure — never share it publicly
  4. After switching between LskyPro versions, re-enter the storage configuration
  5. Upload paths are managed by your LskyPro server, not modified by the plugin

🧭 Development Roadmap & Changelog

Implemented Features

FeatureStatusDescription
Concurrent Upload✅ DoneSupports low/medium/high concurrency modes for faster batch uploads
Auto Delete Local Attachments✅ DoneAutomatically remove local files after successful upload to keep library clean
LskyPro V1 / V2 Auto Detection✅ DoneAutomatically detect and adapt to different API response formats
Right-Click Upload✅ DoneUpload directly from Obsidian's context menu
Response Result Optimization✅ DoneUnified handling of status/message/data parsing logic
Multi-Language Support✅ DoneBuilt-in Chinese and English language switching
Network Image Processing✅ DoneOption to process pasted network image links

Planned Features

  • Image compression options
  • Enhanced upload status notifications

🤝 Acknowledgements

Special thanks to the following projects for inspiration and reference:


👨‍💻 Project Information

📜 License

This project is licensed under the MIT License.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.