Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.utilitiessavings.testapp.server;
- import java.io.IOException;
- import java.util.Enumeration;
- import java.util.Map;
- import javax.inject.Inject;
- import javax.inject.Singleton;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import com.google.appengine.api.blobstore.BlobKey;
- import com.google.appengine.api.blobstore.BlobstoreService;
- import com.google.appengine.api.blobstore.BlobstoreServiceFactory;
- import com.google.appengine.api.datastore.DatastoreService;
- import com.google.appengine.api.datastore.DatastoreServiceFactory;
- import com.google.appengine.api.datastore.Entity;
- import com.google.appengine.api.datastore.EntityNotFoundException;
- import com.google.appengine.api.datastore.Key;
- import com.google.appengine.api.datastore.KeyFactory;
- import com.utilitiessavings.testapp.shared.BlobFile;
- //The FormPanel must submit to a servlet that extends HttpServlet
- //RemoteServiceServlet cannot be used
- @Singleton
- @SuppressWarnings("serial")
- public class UploadServiceImpl extends HttpServlet
- {
- // Start Blobstore and Objectify Sessions
- BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
- DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService();
- @Inject
- static Dao dao;
- // @Inject
- public UploadServiceImpl()
- {
- super();
- System.out.println("UploadServiceImpl constructed");
- // this.dao = dao;
- }
- // @Override
- // public void init() throws ServletException
- // {
- // super.init();
- //
- // System.out.println("UploadServiceImpl init");
- // }
- // Override the doPost method to store the Blob's meta-data
- @Override
- public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
- {
- // Map<String, List<BlobKey>> blobs = blobstoreService.getUploads(req);
- Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req);
- BlobKey blobKey = blobs.get("upload"); // 'upload' is the name of the FileUpload entity
- // Get the parameters from the request to populate the Picture object
- BlobFile blobFile = new BlobFile();
- // use low-level API to get filesize from BlobInfo entity
- Long filesize = new Long(0);
- Entity entity = null;
- Key k = KeyFactory.createKey("__BlobInfo__", blobKey.getKeyString());
- try
- {
- entity = datastoreService.get(k);
- }
- catch(EntityNotFoundException e)
- {
- e.printStackTrace();
- }
- filesize = (Long) entity.getProperty("size");
- blobFile.setFilesize(filesize); // sets filesize as Long
- // Map the fileURL to the blobservice servlet, which will serve the image
- blobFile.setFileUrl("/testapp4/blobservice?blob-key=" + blobKey.getKeyString());
- blobFile.setBlobKey(blobKey.getKeyString());
- // set the filename and supplierCode fields from the hidden form fields
- blobFile.setFilename(req.getParameter("filename"));
- blobFile.setSupplierCode(req.getParameter("supplierCode"));
- // set the category from the ListBox
- blobFile.setCategory(req.getParameter("category"));
- blobFile.setUser(req.getParameter("user"));
- Enumeration<?> e = req.getParameterNames();
- while(e.hasMoreElements())
- {
- System.out.println(e.nextElement());
- }
- dao.put(blobFile);
- // Redirect recursively to this servlet (calls doGet)
- res.sendRedirect("/testapp4/uploadservice?id=" + blobFile.getId());
- }
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
- {
- // Send the meta-data id back to the client in the HttpServletResponse response
- String id = req.getParameter("id");
- resp.setHeader("Content-Type", "text/html");
- resp.getWriter().println(id);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement