Not able to create a asset using the asset manager.
Hi,
I am trying to create an Image asset in the DAM of my project. The code is working fine without any errors but I am not getting any image in the repository.
package Day7.core.servlets;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Map;
import java.util.Map.Entry;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.request.RequestParameter;
import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.api.servlets.HttpConstants;
import org.apache.sling.api.servlets.SlingAllMethodsServlet;
import org.osgi.framework.Constants;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.day.cq.dam.api.AssetManager;
@Component (service = Servlet.class,
property = {
Constants.SERVICE_DESCRIPTION + "=Asset Upload",
"sling.servlet.methods=" + HttpConstants.METHOD_GET,
"sling.servlet.paths=" + "/bin/day7/assetUpload",
"sling.servlet.extensions=" + "html"
})
public class AssetUpload extends SlingAllMethodsServlet{
private static final long serialVersionUID = 1L;
private static final Logger logger = LoggerFactory.getLogger(AssetUpload.class);
@Reference
private ResourceResolverFactory resolverFactory;
@Override
protected void doGet(final SlingHttpServletRequest request,
final SlingHttpServletResponse response) throws ServletException, IOException {
ResourceResolver resourceResolver;
PrintWriter out = null;
out = response.getWriter();
try {
resourceResolver = resolverFactory.getResourceResolver(null);
AssetManager assetManager = resourceResolver.adaptTo(AssetManager.class);
FileInputStream is = new FileInputStream("C:\\Users\\rohit.w\\Downloads\\1650.JPG");
String copyPath = "/content/dam/Day7";
assetManager.createAsset(copyPath, is, "image/jpeg", true);
out.println("Asset Created new");
} catch (LoginException le) {
logger.error("LoginException", le);
}
}
}
Can please somebody help me out on this as to why my image is not being saved in the repository.
Thanks in advance.