bacoAlunos
ENGSOFT2019
BlueGrey
calm
Elegant
Català-Valencià - Catalan
中文 - Chinese (Simplified)
中文 - Chinese (Traditional)
Česky - Czech
Dansk - Danish
Nederlands - Dutch
English - English
Suomi - Finnish
Français - French
Deutsch - German
עברית - Hebrew
हिंदी - Hindi
Magyar - Hungarian
Bahasa Indonesia - Indonesian
Italiano - Italian
日本語 - Japanese
한국어 - Korean
मराठी - Marathi
Norsk - Norwegian
Polski - Polish
Português - Portuguese
Português - Portuguese (Brazil)
Русский - Russian
Slovenčina - Slovak
Slovenščina - Slovenian
Español - Spanish
Svenska - Swedish
Türkçe - Turkish
Oëzbekcha - Uzbek
Subversion Repositories
bacoAlunos
(root)
/
branches
/
grupo10
/
impl
/
src
/
java
/
pt
/
estgp
/
estgweb
/
web
/
controllers
/
utils
/
MultiUploadServlet.java
@ 1989
- Rev 1967
Rev
Rev 1945
|
Blame
|
Compare with Previous
|
Last modification
|
View Log
|
RSS feed
package
pt.estgp.estgweb.web.controllers.utils
;
import
jomm.utils.BytesUtils
;
import
jomm.utils.FilesUtils
;
import
org.apache.commons.fileupload.FileItem
;
import
org.apache.commons.fileupload.FileItemFactory
;
import
org.apache.commons.fileupload.FileUploadException
;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory
;
import
org.apache.commons.fileupload.servlet.ServletFileUpload
;
import
org.apache.log4j.Logger
;
import
org.json.JSONArray
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
pt.estgp.estgweb.utils.Globals
;
import
javax.servlet.ServletException
;
import
javax.servlet.http.HttpServlet
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.PrintWriter
;
import
java.util.Iterator
;
import
java.util.List
;
/**
* Created by jorgemachado on 27/12/16.
*/
public
class
MultiUploadServlet
extends
HttpServlet
{
private
static
final
1.
5
.0/docs/api/java/util/logging/Logger.html">
Logger
logger =
1.
5
.0/docs/api/java/util/logging/Logger.html">
Logger
.
getLogger
(
MultiUploadServlet.
class
)
;
@
1.
5
.0/docs/api/java/lang/Override.html">
Override
public
void
doPost
(
HttpServletRequest request, HttpServletResponse response
)
throws
ServletException,
1.
5
.0/docs/api/java/io/IOException.html">
IOException
{
boolean
isMultipart = ServletFileUpload.
isMultipartContent
(
request
)
;
if
(
!
isMultipart
)
{
JSONObject jsonObject =
new
JSONObject
(
)
;
JSONArray filesUploaded =
new
JSONArray
(
)
;
try
{
jsonObject.
put
(
"service"
,
"fail"
)
;
jsonObject.
put
(
"exception"
,
"Only accept multiparted resquests"
)
;
}
catch
(
JSONException e
)
{
e.
printStackTrace
(
)
;
}
1.
5
.0/docs/api/java/io/PrintWriter.html">
PrintWriter
pw = response.
getWriter
(
)
;
pw.
print
(
jsonObject.
toString
(
)
)
;
}
else
{
FileItemFactory factory =
new
DiskFileItemFactory
(
)
;
ServletFileUpload upload =
new
ServletFileUpload
(
factory
)
;
5+
0
%
2Fdocs
%
2Fapi+List">
List
items =
null
;
try
{
items = upload.
parseRequest
(
request
)
;
}
catch
(
FileUploadException e
)
{
e.
printStackTrace
(
)
;
}
FilesUploadResult result =
new
FilesUploadResult
(
)
;
1.
5
.0/docs/api/java/util/Iterator.html">
Iterator
itr = items.
iterator
(
)
;
while
(
itr.
hasNext
(
)
)
{
FileItem item =
(
FileItem
)
itr.
next
(
)
;
if
(
item.
isFormField
(
)
)
{
}
else
{
try
{
FileUploaded file =
new
FileUploaded
(
)
;
1.
5
.0/docs/api/java/lang/String.html">
String
tmpName = request.
getSession
(
)
.
getId
(
)
+
"_"
+ BytesUtils.
generateHexKey
(
)
;
file.
setTmpName
(
tmpName
)
;
file.
setFileName
(
item.
getName
(
)
)
;
file.
setExtension
(
FilesUtils.
getExtension
(
file.
getFileName
(
)
)
)
;
file.
setFileSize
(
item.
getSize
(
)
)
;
file.
setContentType
(
item.
getContentType
(
)
)
;
1.
5
.0/docs/api/java/io/File.html">
File
savedFile =
new
1.
5
.0/docs/api/java/io/File.html">
File
(
Globals.
TMP_DIR
+
1.
5
.0/docs/api/java/io/File.html">
File
.
separator
+ tmpName
)
;
item.
write
(
savedFile
)
;
result.
getUploadedFiles
(
)
.
add
(
file
)
;
}
catch
(
1.
5
.0/docs/api/java/lang/Exception.html">
Exception
e
)
{
e.
printStackTrace
(
)
;
}
}
}
result.
setService
(
"ok"
)
;
1.
5
.0/docs/api/java/lang/String.html">
String
json = FilesUploadResult.
serializeJson
(
result
)
;
response.
setContentType
(
"application/json"
)
;
response.
setCharacterEncoding
(
"UTF-8"
)
;
1.
5
.0/docs/api/java/io/PrintWriter.html">
PrintWriter
pw = response.
getWriter
(
)
;
pw.
write
(
json
)
;
}
}
private
void
sendError
(
1.
5
.0/docs/api/java/lang/Throwable.html">
Throwable
e,HttpServletRequest request,HttpServletResponse response
)
throws
JSONException,
1.
5
.0/docs/api/java/io/IOException.html">
IOException
{
response.
setContentType
(
"application/json"
)
;
response.
setCharacterEncoding
(
"UTF-8"
)
;
JSONObject errorObject =
new
JSONObject
(
)
;
errorObject.
put
(
"service"
,
"error"
)
;
errorObject.
put
(
"exception"
,e.
toString
(
)
)
;
1.
5
.0/docs/api/java/io/PrintWriter.html">
PrintWriter
pw = response.
getWriter
(
)
;
pw.
write
(
errorObject.
toString
(
)
)
;
}
}