Capture the screenshot first, then upload its image bytes to the WebDAV server with an authenticated HTTP PUT to the full destination URL, including the filename. You can do this manually by copying a saved image into a mapped network location, or automate it by sending the capture result from an app or script to WebDAV.
How the capture-and-upload workflow works
Screenshot capture and WebDAV transfer are two separate operations. The capture tool produces an image file or returns information your app can use to access that file. Your upload step then authenticates to the WebDAV server and writes the image to a specific path.
- Capture the screen, window, or region.
- Save the image locally or obtain the capture result through an application callback.
- Choose the WebDAV destination URL and a filename, such as
https://dav.example.net/photos/screenshot.png. - Send the image bytes to that URL with an authenticated
PUT. - Check the HTTP result, then confirm the file is present by listing the directory or requesting the file.
The URL must identify the target file, not just the server root. The account must be allowed to write in the destination directory, and the server must allow the request method and file type. Microsoft’s WebDAV example uses GET to enumerate or read files and PUT to write a selected file; its IIS guidance says WebDAV requests require authentication.
Send a saved screenshot from Windows
Capture and save with Snipping Tool
For a one-off transfer, use Snipping Tool to capture the desired area and save the result as an image. Windows also documents an application launch contract for Snipping Tool at ms-screenclip://capture/image, supporting rectangle, freeform, and window capture. An app can add auto-save to have the capture written to the user’s device and supply a redirect URI to receive completion data. When the capture finishes or is cancelled, Snipping Tool activates the app through that redirect URI with result parameters appended as query strings. Your app must use the returned information to locate or access the saved result before uploading it.
#1 Best Overall
- 【Versatile Storage Expansion – For Gaming, Work & Everyday Use】 Running out of space on your PS5 or Xbox Series X/S? This external hard drive lets you store and play PS4 / Xbox One games directly, instantly freeing up your console’s internal storage for next‑gen titles. At the same time, it handles work file backups, media libraries, and cross‑device data transfers with ease. One drive, all your needs. *(Note: PS5 / Xbox Series X|S games cannot be run or stored directly from the external hard drive. However, by offloading your PS4 / Xbox One games, you can free up valuable space for newer titles.)*
- 【Patented Silicone Sleeve – Data Protection You Can Count On】 Worried about drops? We’ve got you covered. The patented built‑in silicone sleeve acts like a shock‑absorbing armor, cushioning your drive against bumps and falls. Whether it’s important work documents, precious family photos, or hard‑earned game saves, your data deserves this level of protection.
- 【Plug & Play, Compatible with Computers & Consoles】 No complicated setup—just plug in and go. Works seamlessly with Windows, Mac, and Linux computers, as well as PS4, PS5, Xbox One, and Xbox Series X/S. Process files at the office, back up data at home, or enjoy gaming in your downtime—one drive handles all your devices, simply and hassle‑free.
- 【USB 3.0 Ultra‑Fast Transfer – No More Waiting】 Tired of watching progress bars crawl? With USB 3.0 speeds up to 5Gbps, large files transfer in seconds. Whether you’re moving work documents, transferring hundreds of gigs of games, or backing up a year’s worth of photos, you get more done in less time.
- 【Sleek, Lightweight, and Ready to Go】 Weighing just 0.16 kg—lighter than a can of soda—this compact drive features a stylish mirror‑and‑frosted finish. Toss it in your bag and go, whether you’re heading to the office, visiting a friend for a gaming session, or giving a presentation on the road.
Copy it through a mapped network location
If you do not need automation, Windows can expose a WebDAV site as a network location. Use the Map Network Drive or network-location wizard, enter the WebDAV site URL, and provide credentials when prompted. Then save the screenshot locally and copy or drag it into the target folder in File Explorer. This is the simplest option for occasional uploads; it avoids writing an upload script, but each capture still requires a manual copy.
Upload with cURL
For a scriptable transfer from a machine that already has the screenshot file, cURL can send the file with an HTTP PUT. Replace the example URL, local path, username, and password with values for your service. Use a secure credential source rather than putting a real password into a shared script or shell history.
Rank #2
- High-capacity add-on storage.Specific uses: Business, personal
- Fast data transfers
- Plug-and-play ready for Windows PCs
- WD quality inside and out
curl --user "$WEBDAV_USER:$WEBDAV_PASSWORD"
--upload-file "./screenshot.png"
"https://dav.example.net/photos/screenshot.png"
--upload-file sends the local file as the request body; cURL uses PUT for this upload form. The destination URL includes the filename. A successful HTTP response indicates that the server accepted the request, but verify the saved result when a workflow depends on the image being available afterward. If your server uses a different authentication scheme, follow its requirements rather than assuming basic username-and-password authentication.
Upload from Python
This example uses the commonly available requests package. It streams the local file as the request body and supplies HTTP basic authentication. Replace the endpoint and credentials, and install requests in the Python environment if it is not already present.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #3
- 【Versatile Storage Expansion – For Gaming, Work & Everyday Use】 Running out of space on your PS5 or Xbox Series X/S? This external hard drive lets you store and play PS4 / Xbox One games directly, instantly freeing up your console’s internal storage for next‑gen titles. At the same time, it handles work file backups, media libraries, and cross‑device data transfers with ease. One drive, all your needs. *(Note: PS5 / Xbox Series X|S games cannot be run or stored directly from the external hard drive. However, by offloading your PS4 / Xbox One games, you can free up valuable space for newer titles.)*
- 【Patented Silicone Sleeve – Data Protection You Can Count On】 Worried about drops? We’ve got you covered. The patented built‑in silicone sleeve acts like a shock‑absorbing armor, cushioning your drive against bumps and falls. Whether it’s important work documents, precious family photos, or hard‑earned game saves, your data deserves this level of protection.
- 【Plug & Play, Compatible with Computers & Consoles】 No complicated setup—just plug in and go. Works seamlessly with Windows, Mac, and Linux computers, as well as PS4, PS5, Xbox One, and Xbox Series X/S. Process files at the office, back up data at home, or enjoy gaming in your downtime—one drive handles all your devices, simply and hassle‑free.
- 【USB 3.0 Ultra‑Fast Transfer – No More Waiting】 Tired of watching progress bars crawl? With USB 3.0 speeds up to 5Gbps, large files transfer in seconds. Whether you’re moving work documents, transferring hundreds of gigs of games, or backing up a year’s worth of photos, you get more done in less time.
- 【Sleek, Lightweight, and Ready to Go】 Weighing just 0.16 kg—lighter than a can of soda—this compact drive features a stylish mirror‑and‑frosted finish. Toss it in your bag and go, whether you’re heading to the office, visiting a friend for a gaming session, or giving a presentation on the road.
import os
import requests
webdav_url = "https://dav.example.net/photos/screenshot.png"
username = os.environ["WEBDAV_USER"]
password = os.environ["WEBDAV_PASSWORD"]
with open("screenshot.png", "rb") as image:
response = requests.put(
webdav_url,
data=image,
auth=(username, password),
timeout=60,
)
response.raise_for_status()
print(f"Upload accepted: HTTP {response.status_code}")
Set WEBDAV_USER and WEBDAV_PASSWORD in the process environment before running the script. raise_for_status() turns an HTTP error response into an exception so the script does not silently treat a rejected upload as success. The timeout prevents an unresponsive server from leaving the script waiting indefinitely; choose a longer value if your images or network require it.
Upload from Node.js
With a modern Node.js runtime that provides fetch, read the screenshot file and send it as the body of a PUT. This example uses basic authentication and environment variables for credentials.
Rank #4
- Ultra Slim and Sturdy Metal Design: Merely 0.47 inch thick. ABS Plastic+Aluminum external hard drive,with aluminum finish-style.shockproof, anti-pressure, ultra slim and portable
- Ultra-fast Data Transfers: USB 3.0 Super speed 10Gbps transfer rate ultra slim and light weight Portable external hard drive.Runs straight from a usb 3.0 or usb 2.0 port no external power source needed
- System Compatible: Compatible with Windows, Vista, Mac, Linux, Android, Chromebook, and TV, PC, Laptop, PS4, Xbox series consoles and so on
- Plug and Play: With no software to install, just plug it in and the drive is ready to use.Ideal extra storage for your computer and game console
- Package Contents: 1 x portable hard drive, 1 x USB 3.0 cable, 1 x USB to type C adapter, Gift-type shell packaging, shell packaging, three-year manufacturer's warranty and free technical support services
import { readFile } from "node:fs/promises";
const url = "https://dav.example.net/photos/screenshot.png";
const user = process.env.WEBDAV_USER;
const password = process.env.WEBDAV_PASSWORD;
if (!user || !password) throw new Error("Set WEBDAV_USER and WEBDAV_PASSWORD");
const image = await readFile("screenshot.png");
const authorization = Buffer.from(`${user}:${password}`).toString("base64");
const response = await fetch(url, {
method: "PUT",
headers: { Authorization: `Basic ${authorization}` },
body: image,
});
if (!response.ok) {
throw new Error(`WebDAV upload failed: HTTP ${response.status}`);
}
console.log(`Upload accepted: HTTP ${response.status}`);
Run this as an ES module in a Node.js version with built-in fetch. Basic authentication encodes credentials; it does not encrypt them, so use HTTPS and protect the environment variables and any logs. If your service requires another authentication method, adapt the request headers or client accordingly.
Use a browser app with a backend bridge
A browser page may be prevented by cross-origin resource sharing (CORS) rules from sending a direct WebDAV request to another origin. A browser error in this situation does not necessarily mean that the WebDAV username, password, or path is wrong. A practical alternative is a same-origin or server-side backend: the browser sends the screenshot to your backend, and the backend uploads the bytes to WebDAV. A Flask-based example described by Dynamsoft follows this bridge pattern by receiving encoded image data, decoding it, and writing the bytes to a WebDAV path with a WebDAV client library.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallBest Value
- ✅ On-the-Go Convenience: Slipdrive ssd external hard drive sleeve allows for effortless storage right on your laptop or tablet, ensuring that your precious data is always within reach. It eliminates the risk of misplacing your SSD and the hassles of awkwardly dangling drives during use or transport.
- ✅ High-Quality 3M Adhesive: This portable external hard drives sleeve features a strong and reliable 3M adhesive that provides a secure bond to your laptop or tablet, preventing accidental detachment. It also leaves no sticky residue when removed, preserving the pristine look of your device.
- ✅ Ultra Slim and Compact: The pouch holder is slim and compact, measuring just 5 inches by 3.2 inches. It's specifically tailored to accommodate most SSDs on the market, making it an ideal solution for users who prioritize portability without adding unnecessary bulk to their devices.
- ✅ Secure SSD Protection: This carrying case features a secure design with an elastic sleeve and internal strap that keeps your SSD safe and secure. It offers peace of mind, knowing that your data storage is in reliable hands, even in demanding environments.
- ✅ Durable And Versatile: Our external storage sleeve is crafted from high-quality materials, as its adhesive and strap are designed to withstand wear and tear. Moreover, Its compact design and secure attachment make it a valuable accessory for various surfaces, such as monitors, desktops, tablets, and laptops.
Keep the WebDAV credentials on the backend rather than exposing them to browser JavaScript. Restrict which destination paths the backend accepts, and validate the received image data before forwarding it. This adds a service to deploy and maintain, but it avoids relying on a browser’s permission to make a cross-origin WebDAV request.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Choose a method for your workflow
| Method | Best fit | What you need to manage |
|---|---|---|
| File Explorer network location | Occasional manual uploads from Windows | Save the capture and copy it to the WebDAV folder |
| Local script with cURL, Python, or Node.js | Repeated uploads from a desktop or server process | Capture file path, credentials, destination naming, and handling failed requests |
| Snipping Tool callback and application | A Windows app that should respond to capture completion | Launch contract, redirect handling, access to the saved capture, and the upload operation |
| Browser plus backend | A web app whose browser cannot call WebDAV directly because of CORS | Backend deployment, credential protection, input validation, and upload handling |
Before automating, decide whether a repeated filename should replace the existing file or whether each screenshot needs a unique name. The request URL identifies the resource to write; use a timestamp or another unique component in the filename when preserving previous captures matters. Confirm how your server handles an existing destination rather than relying on an assumption about overwrite behavior.
Or skip the browser setup
If the screenshot starts as a webpage, ScreenshotNeo can create the image over its API; you still send the returned image file to WebDAV in a separate authenticated PUT. The API call below saves a webpage screenshot as shot.webp. See the ScreenshotNeo API documentation for request options.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each of those steps can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the page verdict and billing status in headers. Its MCP server gives AI agents tools to take screenshots, get page information, and capture PDFs. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. For a WebDAV workflow, save the API response as an image and then run your WebDAV upload step against that file. Sign up for ScreenshotNeo’s free plan.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Troubleshoot failed uploads
- Authentication is rejected: Check the username, password, and authentication method for the WebDAV service. WebDAV requests require authentication; confirm that credentials are being sent to the expected host.
- The server returns a permission or path error: Recheck the complete destination URL, including the filename, and verify that the account can create or replace files in that directory.
- The server rejects the method or image extension: Confirm that WebDAV is enabled and that the server permits
PUT. IIS request filtering can affect uploaded content, including methods and file extensions. - A certificate or connection error appears: Use the HTTPS endpoint and check that its certificate is valid and trusted by the client. Do not disable certificate checks as a routine workaround.
- The browser reports a CORS failure: Route the upload through a same-origin or server-side backend rather than exposing WebDAV credentials in the browser.
- The request appears successful but the image is missing: Check the response status, inspect the exact URL and filename, and verify with a directory listing or a subsequent
GET. - The wrong screenshot is uploaded: Confirm that the capture has completed and that the script or callback is reading the current capture file, not an older file at the same path.
Reliability and security checks
Use HTTPS whenever the request crosses an untrusted network. Keep credentials out of source control, browser code, and routine diagnostic logs. For automated jobs, handle non-success HTTP responses explicitly and record enough information to diagnose failures without logging secrets. A successful upload request and a confirmed file at the intended path are distinct checks; use a follow-up listing or read when delivery must be verified. On IIS, review request filtering if otherwise-valid uploads are refused, and on any server confirm that the required WebDAV methods and image extensions are allowed.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

