Basic Java Upload
// Simple file upload and image transformation
import org.filestack.Client;
import org.filestack.Config;
import org.filestack.FileLink;
import org.filestack.transforms.ImageTransform;
import org.filestack.transforms.tasks.ResizeTask;
Config config = new Config("YOUR_API_KEY");
Client client = new Client(config);
// Upload a file
FileLink file = client.upload("/path/to/image.jpg", false);
// Create resize transformation
ResizeTask resizeTask = new ResizeTask.Builder()
.width(300)
.fit("center")
.build();
ImageTransform transform = file.imageTransform()
.addTask(resizeTask);
System.out.println("Uploaded: " + file.getUrl());
System.out.println("Transformed: " + transform.url());Built for Java Enterprise
Our Java SDK follows enterprise Java conventions and integrates seamlessly with popular frameworks and build tools.
High Performance
Optimized for throughput with connection pooling, HTTP/2 support, and efficient memory management for large file operations.
Trusted by innovative companies worldwide
Enterprise-Ready Architecture
Designed for mission-critical applications with enterprise-grade features, security, and scalability. Perfect for microservices, batch processing, and high-throughput systems.
Network operations provide synchronous methods and RxJava 2 asynchronous variants.
Upload files from paths or input streams with optional storage settings and Intelligent Ingestion.
Download, overwrite, delete, and retrieve uploaded files through FileLink objects.
Generate image transformation URLs using ImageTransform and transformation task builders.
Access supported cloud providers and transfer selected cloud files into Filestack.
Spring Boot Integration
// Spring Boot integration example
import org.filestack.Client;
import org.filestack.Config;
import org.filestack.FileLink;
import org.filestack.transforms.ImageTransform;
import org.filestack.transforms.tasks.ResizeTask;
Config config = new Config("YOUR_API_KEY");
Client client = new Client(config);
// Upload a file
FileLink file = client.upload("/path/to/image.jpg", false);
// Create resize transformation
ResizeTask resizeTask = new ResizeTask.Builder()
.width(300)
.fit("center")
.build();
ImageTransform transform = file.imageTransform()
.addTask(resizeTask);
System.out.println("Uploaded: " + file.getUrl());
System.out.println("Transformed: " + transform.url());
Build Tool Integration
Easy integration with Maven, Gradle, and SBT. Requires Java 21 or later
Add Dependency
<dependency>
<groupId>org.filestack</groupId>
<artifactId>filestack-java</artifactId>
<version>1.0.1</version>
</dependency>implementation 'org.filestack:filestack-java:1.0.1'libraryDependencies += "org.filestack" % "filestack-java" % "1.0.1"Basic Usage
Initialize and use the client:
Config config = new Config("YOUR_API_KEY");
Client client = new Client(config);
Complete Java Implementation
// Complete working example with new Filestack SDK
import org.filestack.Client;
import org.filestack.Config;
import org.filestack.FileLink;
import org.filestack.transforms.ImageTransform;
import org.filestack.transforms.tasks.ResizeTask;
import org.filestack.transforms.tasks.QualityTask;
import org.filestack.transforms.tasks.OutputTask;
public class FilestackExample {
private static final String API_KEY = "YOUR_API_KEY";
public static void main(String[] args) {
// Initialize client
Config config = new Config(API_KEY);
Client client = new Client(config);
try {
// Upload a file
String filePath = "/path/to/image.jpg";
FileLink file = client.upload(filePath, false);
System.out.println("Upload successful: " + file.getUrl());
// Create thumbnail
ImageTransform thumbnail = file.imageTransform()
.addTask(
new ResizeTask.Builder()
.width(200)
.height(200)
.fit("crop")
.build()
)
.addTask(
new QualityTask.Builder()
.value(80)
.build()
)
.addTask(
new OutputTask.Builder()
.format("webp")
.build()
);
System.out.println("Thumbnail: " + thumbnail.url());
// Batch process multiple files
String[] imagePaths = {"image1.jpg", "image2.png", "image3.gif"};
processImages(client, imagePaths);
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
e.printStackTrace();
}
}
private static void processImages(Client client,
String[] imagePaths) {
for (String path : imagePaths) {
try {
// Upload original
FileLink original = client.upload(path, false);
// Create small image
ImageTransform small =
original.imageTransform()
.addTask(
new ResizeTask.Builder()
.width(300)
.height(300)
.fit("crop")
.build()
);
// Create medium image
ImageTransform medium =
original.imageTransform()
.addTask(
new ResizeTask.Builder()
.width(600)
.height(600)
.fit("crop")
.build()
);
System.out.println("Processed " + path);
System.out.println("Small: " + small.url());
System.out.println("Medium: " + medium.url());
} catch (Exception e) {
System.err.println("Failed to process " + path + ": " + e.getMessage());
}
}
}
}
Implement Java File Management
Join enterprise teams worldwide who trust Filestack’s Java SDK for mission-critical file management. Scale with confidence using our battle-tested, enterprise-ready solution.