import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import com.oreilly.servlet.MultipartRequest; public class upload extends HttpServlet{ /*AnvŠnder serverns temporŠra katalog vid lagring av filen fšr att kunna skicka tillbaks den till en browser, * anger švre filstorleksgrŠnsen till 5 Mb, lŠser in filen (om den skickats med) till variabeln data och skriver * ut den om den Šr av šnskad content type, annars skriver den ut lite data om den, om ingen fil angavs * skrivs ett felmeddelande ut */ public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException{ try{ File dir = (File)getServletContext().getAttribute("javax.servlet.context.tempdir"); MultipartRequest multi = new MultipartRequest(req, dir.getAbsolutePath(), 5 * 1024 * 1024); File f = multi.getFile("file"); byte[] data = null; if (f != null){ FileInputStream fis = new FileInputStream(f); data=new byte[(int) f.length()]; fis.read(data); fis.close(); if (multi.getContentType("file").equals("image/jpeg") || multi.getContentType("file").equals("image/x-png") || multi.getContentType("file").equals("text/plain")){ res.setContentType(multi.getContentType("file")); OutputStream out = res.getOutputStream(); out.write(data); out.flush(); out.close(); }else{ res.setContentType("text/plain"); PrintWriter out = res.getWriter(); out.write(multi.getFilesystemName("file") + "\n"); out.write(f.length() + " byte\n"); out.write(multi.getContentType("file")); } }else{ res.setContentType("text/plain"); PrintWriter out = res.getWriter(); out.write("Warning ange fil!"); } }catch(Exception e){ log(e.getMessage()); } } }