- Getting Started
- Browser Support
- Languages Support
- Shortcuts
- Activation
- Examples
- Customize the Editor
- Use-cases
- Plugins
- APIs
- Development Frameworks
- Server Integrations
- Server SDKs
- Migration Guides
- Changelog
Java Image Manager
How it works
- Specify image load options when the editor is initialized on the client side.
- When the Image Manger modal displays, the editor makes a request to the server to load the images.
- Once the request reaches the server, it returns a list with the images to display in the editor.
- The editor processes the server response and renders the images in its interface.
Initialize the javascript editor
First, set the imageManagerLoadURL
and imageManagerDeleteURL
options, this allows the editor to interact with the server to load and delete images listed on the Image Manager.
Next, you can set other options related to the interaction between the server and the editor: imageManagerLoadMethod
, imageManagerLoadParams
, imageManagerPreloader
, imageManagerDeleteParams
.
<script>
new FroalaEditor('.selector', {
// Set the image upload URL.
imageManagerLoadURL: '/load_images',
// Set the image delete URL.
imageManagerDeleteURL: '/delete_image'
})
</script>
Receive the load request
The server implementation is responsible for receiving the request and handling it appropriately. can load all the images inside a specified folder using the com.froala.editor.Image.list
method.
Note: The path of the folder from where the images are loaded is relative to the root of the project.
String fileRoute = "/public/";
ArrayList<Object> responseData = Image.list(request, fileRoute);
Receive the delete request
The server should listen for any delete request and process it accordingly. The initialization step makes the image path available in the javax.servlet.http.HttpServletRequest
parameter. The com.froala.editor.Image.delete
method from the Java SDK expects the path of the image to remove from disk.
String src = request.getParameter("src");
Image.Delete(request, src);
Complete Example
<script>
new FroalaEditor('.selector', {
// Set the image upload URL.
imageManagerLoadURL: '/load_images',
// Set the image delete URL.
imageManagerDeleteURL: '/delete_image'
})
</script>
package com.froala.examples.servlets;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.froala.editor.Image;
import com.google.gson.Gson;
/**
* Servlet implementation class LoadImage
*/
@WebServlet("/load_images")
public class LoadImage extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LoadImage() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String fileRoute = "/public/";
ArrayList<Object> responseData;
try {
responseData = Image.list(request, fileRoute);
} catch (Exception e) {
e.printStackTrace();
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
return;
}
String jsonResponseData = new Gson().toJson(responseData);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(jsonResponseData);
}
}
package com.froala.examples.servlets;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.froala.editor.Image;
import com.google.gson.Gson;
/**
* Servlet implementation class DeleteImage
*/
@WebServlet("/delete_image")
public class DeleteImage extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public DeleteImage() {
super();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String src = request.getParameter("src");
try {
Image.delete(request, src);
} catch (Exception e) {
e.printStackTrace();
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
return;
}
String jsonResponseData = new Gson().toJson("Success");
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(jsonResponseData);
}
}
Do you think we can improve this article? Let us know.