????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 18.217.150.104 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/icad.astacus.se/project/universal_old/FileProcessingScripts/JSP/ |
Upload File : |
<%-- This script's using Apache Commons Fileupload library (which require Apache Commons IO) to parse request, they can be downloaded from: commons-io: http://commons.apache.org/downloads/download_io.cgi commons-fileupload: http://commons.apache.org/downloads/download_fileupload.cgi See documentation of your web server to get an information about where you should place this libraries. Ex. TomCat: "For classes and resources specific to a particular web application, place unpacked classes and resources under /WEB-INF/classes of your web application archive, or place JAR files containing those classes and resources under /WEB-INF/lib of your web application archive." --%> <%-- Include required libraries and java classes: --%> <%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload" %> <%@ page import="org.apache.commons.fileupload.FileItem" %> <%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory" %> <%@ page import="java.util.List" %> <%@ page import="java.util.Iterator" %> <%@ page import="java.io.File" %> <%@ page import="java.io.IOException" %> <%@ page import="java.io.PrintWriter"%> <%@ page import="java.io.InputStream" %> <%@ page import="java.io.OutputStream" %> <%@ page import="java.net.URLDecoder" %> <%@ page import="java.io.FileOutputStream" %> <%@ page import="java.io.FileInputStream" %> <%! String openTag = ""; String closeTag = ""; InputStream ips = null; FileOutputStream fos = null; %> <%! /** * Use this handler to perform post upload actions * $fileName contain only name of uploaded file * $filePath conatin full path to uploaded file on your server */ void uploadCompleteHandler(String fileName, String filePath) { } %> <% /* //Uncomment this block of code to enable cross domain scripting (if files uploaded from another domain). response.setHeader("Access-Control-Allow-Origin","*"); if(request.getMethod().toLowerCase().equals("options")) { response.setHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS"); response.setHeader("Access-Control-Allow-Headers",request.getHeader("Access-Control-Request-Headers")); return; } */ //destination folder for uploaded files String uploadDir = application.getRealPath(request.getServletPath()); uploadDir = (new java.io.File(uploadDir)).getParent()+"\\UploadedFiles\\"; //First part is for regulart multipart upload mode. if (IsNullOrEmpty(GetFieldValue("chunkedUpload", request, null))) { ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory()); try { List fileItemsList = servletFileUpload.parseRequest(request); String fileName = IsNullOrEmpty(GetFieldValue("FileName", request, fileItemsList)) ? GetFieldValue("fileName", request, fileItemsList) : GetFieldValue("FileName", request, fileItemsList); Iterator it = fileItemsList.iterator(); while (it.hasNext()) { FileItem fileItem = (FileItem)it.next(); if (!fileItem.isFormField()) { if(IsNullOrEmpty(fileName)) fileName = fileItem.getName(); fileItem.write(new File( uploadDir+"\\"+(new File(fileName).getName()))); out.println("File "+fileName+" was successfully uploaded."); uploadCompleteHandler(fileName, uploadDir+"\\"+(new File(fileName).getName())); } } } catch (Exception ex) { out.println(ex.getMessage()); } } //Second part is for chunked upload mode else { ServletFileUpload servletFileUpload = null; List fileItemsList = null; try{ servletFileUpload = new ServletFileUpload(new DiskFileItemFactory()); fileItemsList = servletFileUpload.parseRequest(request); } catch(Exception e) { } //Used only by JavaPowUpload. determines that empty folder should be created boolean isEmptyFolder = !IsNullOrEmpty(GetFieldValue("isEmptyFolder", request, fileItemsList)); //type of upload which send request. Each uploader acts individually String uploaderType = !IsNullOrEmpty(GetFieldValue("uploaderType", request, fileItemsList)) ? GetFieldValue("uploaderType", request, fileItemsList).toLowerCase() : "html5"; if(!IsNullOrEmpty(uploaderType) && uploaderType.equals("drag-and-drop")) uploaderType = "html5"; //Size of uploaded file long fileSize = 0L; if(!IsNullOrEmpty(GetFieldValue("totalSize", request, fileItemsList))) fileSize = Long.parseLong(GetFieldValue("totalSize", request, fileItemsList)); if(!IsNullOrEmpty(GetFieldValue("FileSize", request, fileItemsList))) fileSize = Long.parseLong(GetFieldValue("FileSize", request, fileItemsList)); if(!IsNullOrEmpty(GetFieldValue("fileSize", request, fileItemsList))) fileSize = Long.parseLong(GetFieldValue("fileSize", request, fileItemsList)); //out.println("1 fileSize "+fileSize); //unique file identifier String uniqueID = !IsNullOrEmpty(GetFieldValue("FileId", request, fileItemsList)) ? GetFieldValue("FileId", request, fileItemsList) : ""; if(!IsNullOrEmpty(GetFieldValue("fid", request, fileItemsList))) uniqueID = GetFieldValue("fid", request, fileItemsList); //Determines if request sent with multiupart encoding boolean isMultiPart = false; if(!IsNullOrEmpty(GetFieldValue("isMultiPart", request, fileItemsList))) isMultiPart = Boolean.parseBoolean(GetFieldValue("isMultiPart", request, fileItemsList)); //Filename may be passed in in parameters with different names. String fileName = IsNullOrEmpty(GetFieldValue("FileName", request, fileItemsList)) ? GetFieldValue("fileName", request, fileItemsList) : GetFieldValue("FileName", request, fileItemsList); //Comment and tag fields sent by Silverlight uploader and can be omited here String fileComment = GetFieldValue("Comment", request, fileItemsList); String tag = GetFieldValue("Tag", request, fileItemsList); fileName = fileName != null ? URLDecoder.decode(fileName, "utf8").replace("..\\", "") : ""; if(IsNullOrEmpty(fileName)) return; //Determines if current request is last or not. Sent by HTML5 and Silverlight uploaders boolean complete = false; if(!IsNullOrEmpty(GetFieldValue("Complete", request, fileItemsList))) complete = Boolean.parseBoolean(GetFieldValue("Complete", request, fileItemsList)); //Determines whether uploader ask for current file size or not boolean querySize = false; if(!IsNullOrEmpty(GetFieldValue("QuerySize", request, fileItemsList))) querySize = Boolean.parseBoolean(GetFieldValue("QuerySize", request, fileItemsList)); if(!IsNullOrEmpty(GetFieldValue("action", request, fileItemsList)))//$uploaderType != "silverlight" && $uploaderType != "html5") querySize = GetFieldValue("action", request, fileItemsList).equalsIgnoreCase("check"); //Start byte - byte from whiich we should start write data into file. Sent by Silverlight uploader long startByte = 0; if(!IsNullOrEmpty(GetFieldValue("StartByte", request, fileItemsList))) startByte = Long.parseLong(GetFieldValue("StartByte", request, fileItemsList)); /*For Java and Flash based uploaders we should return special xml structure in response */ if(uploaderType.equals("java")) { openTag = "<javapowupload>"; closeTag = "</javapowupload>"; } else if(uploaderType.equals("flash")) { openTag = "<multipowupload>"; closeTag = "</multipowupload>"; } //out.println(tmpFile+"<br>"); out.println(openTag); //Set your destination directory in variable below String tmpFile = uploadDir + uniqueID + fileName; File f = new File(tmpFile); if (querySize) { if (!f.exists()) WriteOk("0", uploaderType, out); else WriteOk(Long.toString(f.length()), uploaderType, out); } else { try{ //WriteError("isMultiPart "+isMultiPart, uploaderType, out); if (isMultiPart) { Iterator it = fileItemsList.iterator(); if(!ServletFileUpload.isMultipartContent(request)) { WriteError("Content expected to be multipart, but it is not.", uploaderType, out); return; } if (!it.hasNext()) { WriteError("No chunks to save (multipart) .", uploaderType, out); return; } while (it.hasNext()) { FileItem fileItem = (FileItem)it.next(); if (!fileItem.isFormField()) ips = fileItem.getInputStream(); } //WriteError("fileItem "+fileItem.getName(), uploaderType, out); if(ips == null) WriteError("No chunks to save (multipart) .", uploaderType, out); } else ips = request.getInputStream(); if(ips != null) ips.skip(0); // open the temp file for writing (appending if already exists) FileOutputStream fos = new FileOutputStream(f, f.exists()); // write the content of the inputstream into the file SaveFile(ips, fos); fos.flush(); fos.close(); f = new File(tmpFile); if(!uploaderType.equals("silverlight") && !uploaderType.equals("html5")) complete = (fileSize > 0 && !querySize) ? f.length() >= fileSize : false; // check if the file is already complete. If so, rename temp file if (complete) { File dst = new File( uploadDir + "\\"+ fileName); if(dst.exists()) dst.delete(); //move temp file to destination f.renameTo(new File( uploadDir + "\\"+ fileName)); WriteResponse("File " + fileName + " was successfully uploaded.", uploaderType, out); uploadCompleteHandler(fileName, uploadDir + "\\"+ fileName); } WriteOk("", uploaderType, out); } catch(Exception e) { e.printStackTrace(new java.io.PrintWriter(out)); WriteError("exception in chunked "+e.getMessage(), uploaderType, out); } finally { if(fos != null) fos.close(); if(ips != null) ips.close(); } } out.println(closeTag); out.flush(); } %> <%! void SaveFile(InputStream stream, OutputStream fs) throws IOException { byte[] buffer = new byte[40960]; int bytesRead; while ((bytesRead = stream.read(buffer)) != -1) fs.write(buffer, 0, bytesRead); } //Get value of field from query string parameters or from form String GetFieldValue(String fieldName, HttpServletRequest request, List fileItemsList) { if(fileItemsList != null) { Iterator it = fileItemsList.iterator(); while (it.hasNext()) { FileItem fileItem = (FileItem)it.next(); if (fileItem.isFormField() && fileItem.getFieldName().equals(fieldName)) return fileItem.getString(); } } if(!IsNullOrEmpty(request.getParameter(fieldName))) return request.getParameter(fieldName); /*if(!IsNullOrEmpty(Request.Form[fieldName])) return Request.Form[fieldName];*/ return null; } //Write error to response stream void WriteError(String errstr, String uploader, JspWriter out) throws IOException { if(uploader.equalsIgnoreCase("silverlight") || uploader.equalsIgnoreCase("html5")) out.println("Error: "+errstr); else { out.println("<error message=\""+errstr+"\"/>"); out.println(closeTag); } out.flush(); } //Write OK to response stream void WriteOk(String size, String uploader, JspWriter out) throws IOException { if(uploader.equalsIgnoreCase("silverlight") || uploader.equalsIgnoreCase("html5")) out.println(size); else if(!IsNullOrEmpty(size)) out.println("<ok size='"+size+"'/>"); else out.println("<ok/>"); } //Write response to response stream void WriteResponse(String response, String uploader, JspWriter out) throws IOException { if(uploader.equalsIgnoreCase("silverlight") || uploader.equalsIgnoreCase("html5")) out.println(response); else out.println("<response> "+response+"</response>"); } boolean IsNullOrEmpty(String str) { return str == null || "".equalsIgnoreCase(str); } %>