本文整理匯總了Java中org.apache.commons.fileupload.FileItemStream.openStream方法的典型用法代碼示例。如果您正苦於以下問題:Java FileItemStream.openStream方法的具體用法?Java FileItemStream.openStream怎麽用?Java FileItemStream.openStream使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.commons.fileupload.FileItemStream的用法示例。
在下文中一共展示了FileItemStream.openStream方法的49個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Java代碼示例。
示例1: getRequestData
點讚 3
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private Map getRequestData(HttpServletRequest request) {
Map requestData = new HashMap<>();
ServletFileUpload upload = new ServletFileUpload();
try {
FileItemIterator itemIterator = upload.getItemIterator(request);
while (itemIterator.hasNext()) {
FileItemStream item = itemIterator.next();
InputStream itemStream = item.openStream();
String value = Streams.asString(itemStream, CharEncoding.UTF_8);
requestData.put(item.getFieldName(), value);
}
} catch (FileUploadException | IOException e) {
LOGGER.error("Failed to process request", e);
}
return requestData;
}
開發者ID:Cognifide,項目名稱:aet,代碼行數:19,
示例2: getInputStreamFromRequest
點讚 3
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private InputStream getInputStreamFromRequest(HttpServletRequest request) {
InputStream inputStream=null;
DiskFileItemFactory dff = new DiskFileItemFactory();
try {
ServletFileUpload sfu = new ServletFileUpload(dff);
FileItemIterator fii = sfu.getItemIterator(request);
while (fii.hasNext()) {
FileItemStream item = fii.next();
// 普通參數存儲
if (!item.isFormField()) {
// 隻保留一個
if (inputStream == null) {
inputStream = item.openStream();
return inputStream;
}
}
}
} catch (Exception e) {
}
return inputStream;
}
開發者ID:huanzhou,項目名稱:jeecms6,代碼行數:22,
示例3: createZipFile
點讚 3
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private ZipFile createZipFile(FileItemStream item) {
ZipFile zipFile = null;
try {
File f = new File("zipFile");
InputStream inputStream = item.openStream();
OutputStream outputStream = new FileOutputStream(f);
int len;
byte[] buffer = new byte[1000000];
while ((len = inputStream.read(buffer, 0, buffer.length)) != -1) {
outputStream.write(buffer, 0, len);
}
outputStream.close();
inputStream.close();
zipFile = new ZipFile(f);
} catch (Exception e) {
LOG.error(e.getMessage());
}
return zipFile;
}
開發者ID:geowe,項目名稱:geowe-core,代碼行數:23,
示例4: execute
點讚 3
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
@Override
protected void execute(ElfinderStorage elfinderStorage, HttpServletRequest request, JSONObject json) throws Exception {
List files = (List) request.getAttribute(FileItemStream.class.getName());
List added = new ArrayList<>();
String target = request.getParameter(ElFinderConstants.ELFINDER_PARAMETER_TARGET);
VolumeHandler parentDir = findTarget(elfinderStorage, target);
for (FileItemStream file : files) {
String fileName = file.getName();
VolumeHandler newFile = new VolumeHandler(parentDir, fileName);
newFile.createFile();
InputStream is = file.openStream();
OutputStream os = newFile.openOutputStream();
IOUtils.copy(is, os);
os.close();
is.close();
added.add(newFile);
}
json.put(ElFinderConstants.ELFINDER_JSON_RESPONSE_ADDED, buildJsonFilesArray(request, added));
}
開發者ID:trustsystems,項目名稱:elfinder-java-connector,代碼行數:26,
示例5: _store
點讚 3
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private ISObject _store(FileItemStream fileItemStream) throws IOException {
String filename = fileItemStream.getName();
String key = newKey(filename);
File tmpFile = getFile(key);
InputStream input = fileItemStream.openStream();
ThresholdingByteArrayOutputStream output = new ThresholdingByteArrayOutputStream(inMemoryCacheThreshold, tmpFile);
IO.copy(input, output);
ISObject retVal;
if (output.exceedThreshold) {
retVal = getFull(key);
} else {
int size = output.written;
byte[] buf = output.buf();
retVal = SObject.of(key, buf, size);
}
if (S.notBlank(filename)) {
retVal.setFilename(filename);
}
String contentType = fileItemStream.getContentType();
if (null != contentType) {
retVal.setContentType(contentType);
}
return retVal;
}
開發者ID:actframework,項目名稱:actframework,代碼行數:27,
示例6: provideHeaders
點讚 3
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
/**
* Provides parsed email headers from the "headers" param in a multipart/form-data request.
*
* Although SendGrid parses some headers for us, it doesn't parse "reply-to", so we need to do
* this. Once we are doing it, it's easier to be consistent and use this as the sole source of
* truth for information that originates in the headers.
*/
@Provides
@Singleton
InternetHeaders provideHeaders(FileItemIterator iterator) {
try {
while (iterator != null && iterator.hasNext()) {
FileItemStream item = iterator.next();
// SendGrid sends us the headers in the "headers" param.
if (item.getFieldName().equals("headers")) {
try (InputStream stream = item.openStream()) {
// SendGrid always sends headers in UTF-8 encoding.
return new InternetHeaders(new ByteArrayInputStream(
CharStreams.toString(new InputStreamReader(stream, UTF_8.name())).getBytes(UTF_8)));
}
}
}
} catch (MessagingException | FileUploadException | IOException e) {
// If we fail parsing the headers fall through returning the empty header object below.
}
return new InternetHeaders(); // Parsing failed or there was no "headers" param.
}
開發者ID:google,項目名稱:domaintest,代碼行數:28,
示例7: addItemProxy
點讚 3
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
public void addItemProxy(final FileItemStream item) throws IOException
{
InputStream stream = item.openStream();
ByteArrayOutputStream os = new ByteArrayOutputStream();
IOUtils.copy(stream, os);
final byte[] bs = os.toByteArray();
stream.close();
addItem((FileItemStream) Proxy.newProxyInstance(this.getClass()
.getClassLoader(), new Class[] { FileItemStream.class },
new InvocationHandler()
{
@Override
public Object invoke(Object proxy, Method method,
Object[] args) throws Throwable
{
if ("openStream".equals(method.getName()))
{
return new ByteArrayInputStream(bs);
}
return method.invoke(item, args);
}
}));
}
開發者ID:bluejoe2008,項目名稱:elfinder-2.x-servlet,代碼行數:26,
示例8: uploadFiles
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private List uploadFiles(HttpServletRequest request, String spaceGuid)
throws FileUploadException, IOException, FileStorageException, SLException {
ServletFileUpload upload = getFileUploadServlet();
long maxUploadSize = getConfiguration().getMaxUploadSize();
upload.setSizeMax(maxUploadSize);
List uploadedFiles = new ArrayList();
FileItemIterator fileItemIterator = null;
try {
fileItemIterator = upload.getItemIterator(request);
} catch (SizeLimitExceededException ex) {
throw new SLException(MessageFormat.format(Messages.MAX_UPLOAD_SIZE_EXCEEDED, maxUploadSize));
}
while (fileItemIterator.hasNext()) {
FileItemStream item = fileItemIterator.next();
if (item.isFormField()) {
continue; // ignore simple (non-file) form fields
}
InputStream in = null;
try {
in = item.openStream();
FileEntry entry = getFileService().addFile(spaceGuid, item.getName(),
getConfiguration().getFileUploadProcessor(), in);
uploadedFiles.add(entry);
} finally {
IOUtils.closeQuietly(in);
}
}
return uploadedFiles;
}
開發者ID:SAP,項目名稱:cf-mta-deploy-service,代碼行數:32,
示例9: getRequestStream
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private InputStream getRequestStream(HttpServletRequest req, String expectedFieldName)
throws Exception {
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iterator = upload.getItemIterator(req);
while (iterator.hasNext()) {
FileItemStream item = iterator.next();
// LOG.info(item.getContentType());
if (item.getFieldName().equals(expectedFieldName)) {
return item.openStream();
}
}
throw new IllegalArgumentException("Field " + expectedFieldName + " not found in upload");
}
開發者ID:mit-cml,項目名稱:appinventor-extensions,代碼行數:14,
示例10: getRequestStream
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private InputStream getRequestStream(HttpServletRequest req, String expectedFieldName)
throws Exception {
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iterator = upload.getItemIterator(req);
while (iterator.hasNext()) {
FileItemStream item = iterator.next();
if (item.getFieldName().equals(expectedFieldName)) {
return item.openStream();
}
}
throw new IllegalArgumentException("Field " + expectedFieldName + " not found in upload");
}
開發者ID:mit-cml,項目名稱:appinventor-extensions,代碼行數:14,
示例11: streamFileToDisk
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
/**
* Streams the file upload stream to the specified file.
*
* @param itemStream file item stream
* @param file the file
* @return true if stream was successfully
* @throws IOException in case of IO errors
*/
private boolean streamFileToDisk(FileItemStream itemStream, File file) throws IOException {
boolean result = false;
try (InputStream input = itemStream.openStream();
OutputStream output = new BufferedOutputStream(new FileOutputStream(file), bufferSize)) {
byte[] buffer = new byte[bufferSize];
LOG.debug("Streaming file using buffer size {}.", bufferSize);
for (int length = 0; ((length = input.read(buffer)) > 0); ) {
output.write(buffer, 0, length);
}
result = true;
}
return result;
}
開發者ID:txazo,項目名稱:struts2,代碼行數:22,
示例12: handleMultipart
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private String handleMultipart(RecordedRequest request) {
RecordedUpload upload = new RecordedUpload(request);
Exception exception;
try {
Map params = new HashMap<>();
FileItemIterator iter = upload.getItemIterator();
while (iter.hasNext()) {
FileItemStream item = iter.next();
String name = item.getFieldName();
InputStream stream = item.openStream();
if (item.isFormField()) {
String value = Streams.asString(stream);
System.out.println("Form field " + name + " with value "
+ value + " detected.");
params.put(name,value);
} else {
System.out.println("File field " + name + " with file name "
+ item.getName() + " detected.");
params.put(name, "file->"+item.getName());
}
}
return "Multipart:"+JSON.toJSONString(params);
} catch (Exception e) {
exception = e;
}
return "Multipart:error->"+exception;
}
開發者ID:alexclin0188,項目名稱:httplite,代碼行數:28,
示例13: readFormData
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
/**
* Reads form values from the multipart request until a file is encountered. Field values are stored as strings for
* retrieval using {@link #getFormFieldValue}.
* @return True if there is an upload file available to read via {@link #getUploadFileItem()}.
*/
public boolean readFormData() {
mUploadFileItem = null;
try {
while (mItemIterator.hasNext()) {
FileItemStream lCurrentItem = mItemIterator.next();
/**
* NOTE: the InputStream here is read here in a blocking way. Long upload hangs have been observed on live
* environments at this point due to network issues. It should be possible to convert the stream to a
* non-blocking stream at this point if required.
*/
InputStream lItemInputStream = lCurrentItem.openStream();
if (lCurrentItem.isFormField()) {
//Read form values into the map
String lParamName = lCurrentItem.getFieldName();
String lFieldValue = Streams.asString(lItemInputStream);
mFieldParamMap.put(lParamName, lFieldValue);
}
else {
//We've hit the file field, so stop the read for now
mUploadFileItem = lCurrentItem;
break;
}
lItemInputStream.close();
}
}
catch (IOException | FileUploadException e) {
throw new ExInternal("Failed to read form data for the multipart request", e);
}
return mUploadFileItem != null;
}
開發者ID:Fivium,項目名稱:FOXopen,代碼行數:42,
示例14: initialiseUpload
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private void initialiseUpload()
throws Throwable {
try {
FileItemStream lCurrentItem = mMultipartUploadReader.getUploadFileItem();
if(lCurrentItem == null) {
throw new ExInternal("No file available on the multipart upload reader - either reader is in an invalid state, or the upload contained no file field");
}
mItemInputStream = lCurrentItem.openStream();
if (lCurrentItem.isFormField()) {
//Skip form fields, they should have been read by the MultipartUploadReader
Track.alert("UploadWorkItem", "Unexpected form field encountered when streaming upload");
}
else {
mItemNonBlockingInputStream = new NonBlockingInputStream(mItemInputStream, BYTE_READ_QUANTITY, MAX_SUBSEQUENT_BUFFER_READS);
String lFilename = lCurrentItem.getName();
mUploadInfo.setOriginalFileLocation(lFilename);
int lBeginningIndex = lFilename.lastIndexOf("\\");
if ( lFilename != null && lBeginningIndex != -1 ) {
// substr from that last occurrence of a back slash
lFilename = lFilename.substring(lBeginningIndex + 1);
}
mUploadInfo.setFilename(lFilename);
String lContentType = lCurrentItem.getContentType();
mUploadInfo.setBrowserContentType(lContentType != null ? lContentType : "" );
mStatus = READING_FILE_DATA;
mLastReadTime = System.currentTimeMillis();
}
}
catch (Throwable ex1) {
throw ex1;
}
}
開發者ID:Fivium,項目名稱:FOXopen,代碼行數:39,
示例15: getFileItem
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private void getFileItem(HttpServletRequest request) throws FileUploadException, IOException {
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (!isMultipart) {
throw new IllegalArgumentException("Not multipart...");
}
ServletFileUpload upload = new ServletFileUpload();
List mdrEntries = new ArrayList();
// Parse the request
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
FileItemStream item = iter.next();
String name = item.getFieldName();
InputStream stream = item.openStream();
if (item.isFormField()) {
System.out.println("Form field " + name + " with value "
+ Streams.asString(stream) + " detected.");
} else {
System.out.println("File field " + name + " with file name "
+ item.getName() + " detected.");
// Process the input stream
}
String mdrEntry = handleInput(name, stream);
mdrEntries.add(mdrEntry);
}
commitContent(mdrEntries);
}
開發者ID:luox12,項目名稱:onecmdb,代碼行數:33,
示例16: doPost
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
protected void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
long gameId = 0l;
String auth = null;
try {
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iter = upload.getItemIterator(req);
String json = "";
while (iter.hasNext()) {
FileItemStream item = iter.next();
String name = item.getFieldName();
InputStream stream = item.openStream();
if (item.isFormField()) {
String value = Streams.asString(stream);
if ("gameId".equals(name)) gameId = Long.parseLong(value);
if ("auth".equals(name)) auth = value;
} else {
json = Streams.asString(stream);
}
}
res.setContentType("text/plain");
JSONObject jObject = new JSONObject(json);
Object deserialized = JsonBeanDeserializer.deserialize(json);
if (deserialized instanceof GamePackage && ((GamePackage) deserialized).getGame() != null)
unpackGame((GamePackage) deserialized, req, auth);
if (deserialized instanceof RunPackage && ((RunPackage) deserialized ).getRun() != null)
unpackRun((RunPackage) deserialized, req, gameId, auth);
} catch (Exception ex) {
throw new ServletException(ex);
}
}
開發者ID:WELTEN,項目名稱:dojo-ibl,代碼行數:38,
示例17: processFileItem
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private void processFileItem(RequestState state, FileItemStream item) throws ServletException, IOException {
File uploadDir = ensureUploadDirectory();
if (uploadDir != null) {
File uploadFile = null;
try {
String prefix = UPLOAD_FILE_PREFIX;
String suffix = UPLOAD_FILE_SUFFIX;
uploadFile = File.createTempFile(prefix, suffix, uploadDir);
InputStream is = null;
InputStream bis = null;
OutputStream bos = null;
try {
is = item.openStream();
bis = new BufferedInputStream(is, UPLOAD_BUFFER_SIZE);
bos = new BufferedOutputStream(new FileOutputStream(uploadFile), UPLOAD_BUFFER_SIZE);
byte[] buffer = new byte[UPLOAD_BUFFER_SIZE];
int fileLength = 0;
for (int nb = 0; (nb = bis.read(buffer)) >= 0;) {
if (nb > 0) {
bos.write(buffer, 0, nb);
fileLength += nb;
}
}
state.uploadFile = uploadFile;
state.uploadFileLength = fileLength;
state.uploadFileNameOriginal = item.getName();
if (state.uploadFileNameOriginal == null)
state.uploadFileNameOriginal = "unspecified";
} finally {
StreamUtil.closeSafely(bos);
StreamUtil.closeSafely(bis);
StreamUtil.closeSafely(is);
}
} catch (IOException e) {
state.setPreverifyException(e);
}
}
}
開發者ID:skynav,項目名稱:ttt,代碼行數:39,
示例18: provideParameterMap
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
@Provides
@Singleton
Multimap provideParameterMap(
@RequestData("queryString") String queryString,
@RequestData("postBody") Lazy lazyPostBody,
@RequestData("charset") String requestCharset,
FileItemIterator multipartIterator) {
// Calling request.getParameter() or request.getParameterMap() etc. consumes the POST body. If
// we got the "postpayload" param we don't want to parse the body, so use only the query params.
// Note that specifying both "payload" and "postpayload" will result in the "payload" param
// being honored and the POST body being completely ignored.
ImmutableMultimap.Builder params = new ImmutableMultimap.Builder<>();
Multimap getParams = parseQuery(queryString);
params.putAll(getParams);
if (getParams.containsKey("postpayload")) {
// Treat the POST body as if it was the "payload" param.
return params.put("payload", nullToEmpty(lazyPostBody.get())).build();
}
// No "postpayload" so it's safe to consume the POST body and look for params there.
if (multipartIterator == null) { // Handle GETs and form-urlencoded POST requests.
params.putAll(parseQuery(nullToEmpty(lazyPostBody.get())));
} else { // Handle multipart/form-data requests.
try {
while (multipartIterator != null && multipartIterator.hasNext()) {
FileItemStream item = multipartIterator.next();
try (InputStream stream = item.openStream()) {
params.put(
item.isFormField() ? item.getFieldName() : item.getName(),
CharStreams.toString(new InputStreamReader(stream, requestCharset)));
}
}
} catch (FileUploadException | IOException e) {
// Ignore the failure and fall through to return whatever params we managed to parse.
}
}
return params.build();
}
開發者ID:google,項目名稱:domaintest,代碼行數:38,
示例19: Upload
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private Upload(final HttpServletRequest request) {
this.upload = new ServletFileUpload();
this.request = request;
super.setStreamProvider(new InputStreamProvider() {
@Override
public InputStream getStream(String path) throws IOException {
try {
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
FileItemStream stm = iter.next();
if (stm.getFieldName().equals(path)) {
return stm.openStream();
}
}
} catch (Exception e) {
throw new IOException(e);
}
throw new IOException(path + " does not exists");
}
@Override
public String getRealPath(String p) {
throw new UnsupportedOperationException();
}
});
}
開發者ID:xkommando,項目名稱:Gplume,代碼行數:30,
示例20: doPost
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException {
try {
ServletFileUpload upload = new ServletFileUpload();
res.setContentType("text/html");
res.setCharacterEncoding("UTF-8");
FileItemIterator iterator = upload.getItemIterator(req);
while (iterator.hasNext()) {
FileItemStream item = iterator.next();
InputStream stream = item.openStream();
if (item.isFormField()) {
log.warning("Got a form field: " + item.getFieldName());
} else {
log.warning("Got an uploaded file: " + item.getFieldName()+ ", name = " + item.getName());
// You now have the filename (item.getName() and the
// contents (which you can read from stream). Here we just
// print them back out to the servlet output stream, but you
// will probably want to do something more interesting (for
// example, wrap them in a Blob and commit them to the
// datastore).
/* int len;
byte[] buffer = new byte[8192];
while ((len = stream.read(buffer, 0, buffer.length)) != -1) {
res.getOutputStream().write(buffer, 0, len);
}*/
String content = IOUtils.toString(stream, "UTF-8");
tbx2rdfServlet.formatOutput(res,content);
}
}
} catch (Exception ex) {
//throw new ServletException(ex);
}
}
開發者ID:cimiano,項目名稱:tbx2rdf,代碼行數:35,
示例21: uploadMultipart
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private void uploadMultipart(HttpServletRequest req, HttpServletResponse resp,
OutputStream repoItemOutputStrem) throws IOException {
log.debug("Multipart detected");
ServletFileUpload upload = new ServletFileUpload();
try {
// Parse the request
FileItemIterator iter = upload.getItemIterator(req);
while (iter.hasNext()) {
FileItemStream item = iter.next();
String name = item.getFieldName();
try (InputStream stream = item.openStream()) {
if (item.isFormField()) {
// TODO What to do with this?
log.debug("Form field {} with value {} detected.", name, Streams.asString(stream));
} else {
// TODO Must we support multiple files uploading?
log.debug("File field {} with file name detected.", name, item.getName());
log.debug("Start to receive bytes (estimated bytes)",
Integer.toString(req.getContentLength()));
int bytes = IOUtils.copy(stream, repoItemOutputStrem);
resp.setStatus(SC_OK);
log.debug("Bytes received: {}", Integer.toString(bytes));
}
}
}
} catch (FileUploadException e) {
throw new IOException(e);
}
}
開發者ID:Kurento,項目名稱:kurento-java,代碼行數:37,
示例22: processUploadedFile
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
protected void processUploadedFile(FileItemStream item, String path, String client, Map meta) throws IOException, InterruptedException{
//item.g
log.info("Archive HDFS:" + path);
//Content-Length
InputStream ins = item.openStream();
HDFSArchiver.getArchiver().archiveToHDFS(path, ins, meta);
ins.close();
}
開發者ID:deonwu,項目名稱:hdfs-archiver,代碼行數:9,
示例23: asMultipartRequest
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private static MultipartRequest asMultipartRequest(HttpServletRequest request) throws Exception {
String encoding = request.getCharacterEncoding();
MultipartRequest req = new MultipartRequest(request);
ServletFileUpload upload = new ServletFileUpload();
upload.setHeaderEncoding(encoding);
FileItemIterator it = upload.getItemIterator(request);
while (it.hasNext()) {
FileItemStream item = it.next();
String fieldName = item.getFieldName();
InputStream stream = item.openStream();
try {
if (item.isFormField()) {
req.setParameter(fieldName, Streams.asString(stream, encoding));
} else {
String originalFilename = item.getName();
File diskFile = getTempFile(originalFilename);
OutputStream fos = new FileOutputStream(diskFile);
try {
IoUtils.copy(stream, fos);
} finally {
IoUtils.closeQuietly(fos);
}
FilePart filePart = new FilePart(fieldName, originalFilename, diskFile);
req.addFile(filePart);
}
} finally {
IoUtils.closeQuietly(stream);
}
}
return req;
}
開發者ID:subchen,項目名稱:jetbrick-all-1x,代碼行數:37,
示例24: doPost
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletFileUpload upload = new ServletFileUpload();
try{
FileItemIterator iterator = upload.getItemIterator(request);
if (iterator.hasNext()) {
FileItemStream item = iterator.next();
String name = item.getFieldName();
logger.debug("Uploading file '{}' with item name '{}'", item.getName(), name);
InputStream stream = item.openStream();
ByteArrayOutputStream out = new ByteArrayOutputStream();
Streams.copy(stream, out, true);
byte[] data = out.toByteArray();
response.setStatus(HttpServletResponse.SC_OK);
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
response.getWriter().print(new String(data));
response.flushBuffer();
}
else {
logger.error("No file found in post request!");
throw new RuntimeException("No file found in post request!");
}
}
catch(Exception e){
logger.error("Unexpected error in FileUploadServlet.doPost: ", e);
throw new RuntimeException(e);
}
}
開發者ID:kaaproject,項目名稱:avro-ui,代碼行數:36,
示例25: doPost
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//CHECKSTYLE:ON
ServletFileUpload upload = new ServletFileUpload();
try {
FileItemIterator iter = upload.getItemIterator(request);
if (iter.hasNext()) {
FileItemStream item = iter.next();
String name = item.getFieldName();
LOG.debug("Uploading file '{}' with item name '{}'", item.getName(), name);
InputStream stream = item.openStream();
// Process the input stream
ByteArrayOutputStream out = new ByteArrayOutputStream();
Streams.copy(stream, out, true);
byte[] data = out.toByteArray();
cacheService.uploadedFile(name, data);
} else {
LOG.error("No file found in post request!");
throw new RuntimeException("No file found in post request!");
}
} catch (Exception ex) {
LOG.error("Unexpected error in FileUpload.doPost: ", ex);
throw new RuntimeException(ex);
}
}
開發者ID:kaaproject,項目名稱:kaa,代碼行數:33,
示例26: internalImport
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
protected void internalImport(
HttpServletRequest request,
Properties options,
long projectID
) throws Exception {
String url = null;
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
FileItemStream item = iter.next();
String name = item.getFieldName().toLowerCase();
InputStream stream = item.openStream();
if (item.isFormField()) {
if (name.equals("url")) {
url = Streams.asString(stream);
} else {
options.put(name, Streams.asString(stream));
}
} else {
String fileName = item.getName().toLowerCase();
try {
ProjectManager.getSingleton().importProject(projectID, stream, !fileName.endsWith(".tar"));
} finally {
stream.close();
}
}
}
if (url != null && url.length() > 0) {
internalImportURL(request, options, projectID, url);
}
}
開發者ID:dfci-cccb,項目名稱:mev,代碼行數:36,
示例27: getInputStream
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
protected InputStream getInputStream(FileItemStream stream) {
try {
return stream.openStream();
} catch (IOException e) {
throw new RestException(Status.INTERNAL_SERVER_ERROR, e);
}
}
開發者ID:camunda,項目名稱:camunda-bpm-platform,代碼行數:8,
示例28: doFilter
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
@Override
public void doFilter(HttpExchange exchange, Chain chain) throws IOException
{
final Map> params = parseGetParameters(exchange);
Map> streams = null;
if( HttpExchangeUtils.isPost(exchange) )
{
if( HttpExchangeUtils.isMultipartContent(exchange) )
{
streams = new HashMap>();
try
{
FileItemIterator ii = new FileUpload().getItemIterator(new ExchangeRequestContext(exchange));
while( ii.hasNext() )
{
final FileItemStream is = ii.next();
final String name = is.getFieldName();
try( InputStream stream = is.openStream() )
{
if( !is.isFormField() )
{
// IE passes through the full path of the file,
// where as Firefox only passes through the
// filename. We only need the filename, so
// ensure that we string off anything that looks
// like a path.
final String filename = STRIP_PATH_FROM_FILENAME.matcher(is.getName()).replaceFirst(
"$1");
final File tempfile = File.createTempFile("equella-manager-upload", "tmp");
tempfile.getParentFile().mkdirs();
streams.put(name, new Pair(filename, tempfile));
try( OutputStream out = new BufferedOutputStream(new FileOutputStream(tempfile)) )
{
ByteStreams.copy(stream, out);
}
}
else
{
addParam(params, name, Streams.asString(stream));
}
}
}
}
catch( Exception t )
{
throw new RuntimeException(t);
}
}
else
{
try( InputStreamReader isr = new InputStreamReader(exchange.getRequestBody(), "UTF-8") )
{
BufferedReader br = new BufferedReader(isr);
String query = br.readLine();
parseQuery(query, params);
}
}
}
exchange.setAttribute(PARAMS_KEY, params);
exchange.setAttribute(MULTIPART_STREAMS_KEY, streams);
// attributes seem to last the life of a session... I don't know why...
exchange.setAttribute("error", null);
chain.doFilter(exchange);
}
開發者ID:equella,項目名稱:Equella,代碼行數:71,
示例29: service
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
@Override
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Check that we have a file upload request
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
List files = new ArrayList<>();
ServletFileUpload upload = new ServletFileUpload();
// Parse the request
FileItemIterator iter = null;
try {
iter = upload.getItemIterator(request);
while (iter.hasNext()) {
FileItemStream item = iter.next();
String name = item.getFieldName();
try (InputStream stream = item.openStream()) {
if (item.isFormField()) {
LOGGER.debug("Form field " + name + " with value " + Streams.asString(stream) + " detected.");
incrementStringsProcessed();
} else {
LOGGER.debug("File field " + name + " with file name " + item.getName() + " detected.");
// Process the input stream
File tmpFile = File.createTempFile(UUID.randomUUID().toString() + "_MockUploadServlet", ".tmp");
tmpFile.deleteOnExit();
try (OutputStream os = new FileOutputStream(tmpFile)) {
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = stream.read(buffer)) != -1) {
os.write(buffer, 0, bytesRead);
}
incrementFilesProcessed();
files.add(tmpFile.getAbsolutePath());
}
}
}
}
} catch (FileUploadException e) {
}
try (Writer w = response.getWriter()) {
w.write(Integer.toString(getFilesProcessed()));
resetFilesProcessed();
resetStringsProcessed();
w.write("||");
w.write(files.toString());
}
} else {
try (Writer w = response.getWriter()) {
w.write(Integer.toString(getFilesProcessed()));
resetFilesProcessed();
resetStringsProcessed();
w.write("||");
}
}
}
開發者ID:amaralDaniel,項目名稱:megaphone,代碼行數:56,
示例30: uploadFiles
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
/**
* 파일을 Upload 처리한다.
*
* @param request
* @param where
* @param maxFileSize
* @return
* @throws Exception
*/
public static List uploadFiles(
HttpServletRequest request,
String where,
long maxFileSize) throws Exception {
List list = new ArrayList();
// Check that we have a file upload request
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload();
upload.setFileSizeMax(maxFileSize); // SizeLimitExceededException
// Parse the request
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
FileItemStream item = iter.next();
String name = item.getFieldName();
InputStream stream = item.openStream();
if (item.isFormField()) {
// System.out.println("Form field '" + name + "' with value '" + Streams.asString(stream) +
// "' detected.");
LOG.info("Form field '" + name + "' with value '" + Streams.asString(stream) + "' detected.");
} else {
// System.out.println("File field '" + name + "' with file name '" + item.getName() + "' detected.");
LOG.info("File field '" + name + "' with file name '" + item.getName() + "' detected.");
if ("".equals(item.getName())) {
continue;
}
// Process the input stream
FormBasedFileVo vo = new FormBasedFileVo();
String tmp = item.getName();
if (tmp.lastIndexOf("\\") >= 0) {
tmp = tmp.substring(tmp.lastIndexOf("\\") + 1);
}
vo.setFileName(tmp);
vo.setContentType(item.getContentType());
vo.setServerSubPath(getTodayString());
vo.setPhysicalName(getPhysicalFileName());
if (tmp.lastIndexOf(".") >= 0) {
vo.setPhysicalName(vo.getPhysicalName() + tmp.substring(tmp.lastIndexOf(".")));
}
long size = saveFile(stream,
new File(WebUtil.filePathBlackList(where) + SEPERATOR + vo.getServerSubPath() + SEPERATOR + vo.getPhysicalName()));
vo.setSize(size);
list.add(vo);
}
}
} else {
throw new IOException("form's 'enctype' attribute have to be 'multipart/form-data'");
}
return list;
}
開發者ID:aramsoft,項目名稱:aramcomp,代碼行數:75,
示例31: uploadFiles
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
/**
* 파일을 Upload 처리한다.
*
* @param request
* @param where
* @param maxFileSize
* @return
* @throws Exception
*/
public static List uploadFiles(HttpServletRequest request, String where, long maxFileSize) throws Exception {
List list = new ArrayList();
// Check that we have a file upload request
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload();
upload.setFileSizeMax(maxFileSize);// SizeLimitExceededException
// Parse the request
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
FileItemStream item = iter.next();
String name = item.getFieldName();
InputStream stream = item.openStream();
if (item.isFormField()) {
//System.out.println("Form field '" + name + "' with value '" + Streams.asString(stream) + "' detected.");
Logger.getLogger(HeritFormBasedFileUtil.class).info("Form field '" + name + "' with value '" + Streams.asString(stream) + "' detected.");
} else {
//System.out.println("File field '" + name + "' with file name '" + item.getName() + "' detected.");
Logger.getLogger(HeritFormBasedFileUtil.class).info("File field '" + name + "' with file name '" + item.getName() + "' detected.");
if ("".equals(item.getName())) {
continue;
}
// Process the input stream
HeritFormBasedFileVO vo = new HeritFormBasedFileVO();
String tmp = item.getName();
if (tmp.lastIndexOf("\\") >= 0) {
tmp = tmp.substring(tmp.lastIndexOf("\\") + 1);
}
vo.setFileName(tmp);
vo.setContentType(item.getContentType());
vo.setServerSubPath(getTodayString());
vo.setPhysicalName(getPhysicalFileName());
if (tmp.lastIndexOf(".") >= 0) {
vo.setPhysicalName(vo.getPhysicalName() + tmp.substring(tmp.lastIndexOf(".")));
}
long size = saveFile(stream, new File(HeritWebUtil.filePathBlackList(where) + SEPERATOR + vo.getServerSubPath() + SEPERATOR + vo.getPhysicalName()));
vo.setSize(size);
list.add(vo);
}
}
} else {
throw new IOException("form's 'enctype' attribute have to be 'multipart/form-data'");
}
return list;
}
開發者ID:iotoasis,項目名稱:SI,代碼行數:69,
示例32: parseRequest
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
@Override
protected void parseRequest(final String rawRequest)
{
this.parsingResult = KvantumFileUploadContext.from( this.getParent() );
if ( parsingResult.getStatus() == KvantumFileUploadContext.KvantumFileUploadContextParsingStatus.SUCCESS )
{
final KvantumFileUploadContext context = this.parsingResult.getContext();
try
{
final FileItemIterator itemIterator = ServerImplementation.getImplementation().getGlobalFileUpload()
.getItemIterator( context );
FileItemStream item;
while ( itemIterator.hasNext() )
{
item = itemIterator.next();
if ( !item.isFormField() )
{
continue; // We do not handle files, that is up to the application implementations
}
try ( final InputStream inputStream = item.openStream() )
{
final List lines = new ArrayList<>();
try ( BufferedReader bufferedReader =
new BufferedReader( new InputStreamReader( inputStream ) ) )
{
String line;
while ( ( line = bufferedReader.readLine() ) != null )
{
lines.add( line );
}
}
if ( lines.size() != 1 )
{
Logger.warn( "FileItem simple field line count is not 0 (Request: {})", getParent() );
continue;
}
this.getVariables().put( item.getFieldName(), lines.get( 0 ).toString() );
}
}
} catch ( final FileUploadException | IOException e )
{
e.printStackTrace();
}
} else
{
Logger.warn( "Failed to parse multipart request: {}", parsingResult.getStatus() );
}
}
開發者ID:Sauilitired,項目名稱:Kvantum,代碼行數:49,
示例33: doPost
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
if (ServletFileUpload.isMultipartContent(request)) {
try {
ServletFileUpload propertiesFile = new ServletFileUpload();
FileItemIterator fii = propertiesFile.getItemIterator(request);
while(fii.hasNext()) {
FileItemStream item = fii.next();
String name = item.getFieldName();
InputStream is = item.openStream();
if (item.isFormField()) {
return;
} else {
if (is != null) {
Properties props = new Properties();
props.load(is);
// Set the appropriate pingid.properties values to session
HttpSession session = request.getSession(false);
session.setAttribute("pingid_org_alias", props.getProperty("org_alias"));
session.setAttribute("pingid_token", props.getProperty("token"));
session.setAttribute("pingid_use_base64_key", props.getProperty("use_base64_key"));
session.setAttribute("pingid_url", props.getProperty("idp_url"));
// Set the results of the action to the request attributes
request.setAttribute("status", "OK");
request.setAttribute("statusMessage", "Successfully imported pingid.properties");
RequestDispatcher requestDispatcher;
requestDispatcher = request.getRequestDispatcher("/index.jsp");
requestDispatcher.forward(request, response);
}
return;
}
}
} catch (FileUploadException ex) {
throw new ServletException(ex.getMessage());
}
} else {
return;
}
}
開發者ID:pingidentity,項目名稱:pingid-api-playground,代碼行數:51,
示例34: getFileItem
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private void getFileItem(HttpServletRequest request, File root) throws FileUploadException, IOException {
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (!isMultipart) {
throw new IllegalArgumentException("Not multipart...");
}
ServletFileUpload upload = new ServletFileUpload();
// Parse the request
FileItemIterator iter = upload.getItemIterator(request);
String fileName = null;
String path = null;
while (iter.hasNext()) {
FileItemStream item = iter.next();
String name = item.getFieldName();
InputStream stream = item.openStream();
System.out.println("Name=" + item.getName());
if (item.isFormField()) {
String value = Streams.asString(stream);
System.out.println("FormField " + name + "=" + value);
if (name.equals("name")) {
fileName = value;
}
if (name.equals("path")) {
path = value;
}
} else {
System.out.println("File field " + name + " with file name "
+ item.getName() + " detected.");
File output = new File(root, path + "/" + fileName);
System.out.println("Write upload to " + output.getPath());
IOUtil.copyCompletely(stream, new FileOutputStream(output));
}
}
}
開發者ID:luox12,項目名稱:onecmdb,代碼行數:46,
示例35: doPost
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException {
logger.warn("doPost Servlet call");
System.out.println("doPost Servlet call");
// Check that we have a file upload request
isMultipart = ServletFileUpload.isMultipartContent(request);
ServletFileUpload upload = new ServletFileUpload();
try {
FileItemIterator iterator = upload.getItemIterator(request);
String itemId = "";
while (iterator.hasNext()) {
FileItemStream item = iterator.next();
InputStream stream = item.openStream();
if ( item.isFormField() ) {
System.out.println("ContentType: " + item.getContentType());
System.out.println("Form field : " + item.getFieldName() );
// parse the field with itemId
if ( item.getFieldName().equals("itemId") ) {
//
BufferedReader reader = new BufferedReader(new InputStreamReader(item.openStream()));
StringBuffer res = new StringBuffer();
String line;
while ((line = reader.readLine()) != null) {
res.append(line);
}
reader.close();
System.out.println("imageId: " + res);
itemId = res.toString();
//
// JSONObject jsonObj = new JSONObject(res);
// String count = jsonObj.getInt("count");
// System.out.println("-#: " + data);
}
} else {
System.out.println("Got an uploaded file: " + item.getFieldName() + ", name = " + item.getName()+ " content="+item.getContentType() + " header="+item.getHeaders());
byte[] bytes = IOUtils.toByteArray(stream);
System.out.println("File length: " + bytes.length);
System.out.println("ItemId : " + itemId);
// Create image and store image in datastore
Image image = new Image(item.getName(), new Blob( bytes));
Key key = ObjectifyService.ofy().save().entity(image).now();
// get ImageId from the instance (not needed)
// Long imageId = image.getImageId();
// Key imageKey = Key.create(Image.class, Long.parseLong(imageId.toString()));
Ref imageRef = Ref.create(key);
//
Item item1 = ObjectifyService.ofy().load().type(Item.class).id(Long.parseLong(itemId)).now();
item1.addImage(imageRef); //item1.addImage(Ref.create(imageRef));
ObjectifyService.ofy().save().entity(item1).now();
}
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
} catch (Exception ex) {
System.out.println(ex);
}
}
開發者ID:johanordin,項目名稱:Shero,代碼行數:79,
示例36: processRequest
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
protected void processRequest(HttpServletRequest req, HttpServletResponse res) throws Exception {
String dest = req.getParameter(DEST_PARAM);
String preload = req.getParameter(PRELOAD_PARAM);
String overrideCacheKey= req.getParameter(CACHE_KEY);
String fileType= req.getParameter(FILE_TYPE);
if (! ServletFileUpload.isMultipartContent(req)) {
sendReturnMsg(res, 400, "Is not a Multipart request. Request rejected.", "");
}
StopWatch.getInstance().start("Upload File");
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iter = upload.getItemIterator(req);
while (iter.hasNext()) {
FileItemStream item = iter.next();
if (!item.isFormField()) {
String fileName = item.getName();
InputStream inStream = new BufferedInputStream(item.openStream(), IpacTableUtil.FILE_IO_BUFFER_SIZE);
String ext = resolveExt(fileName);
FileType fType = resolveType(fileType, ext, item.getContentType());
File destDir = resolveDestDir(dest, fType);
boolean doPreload = resolvePreload(preload, fType);
File uf = File.createTempFile("upload_", ext, destDir);
String rPathInfo = ServerContext.replaceWithPrefix(uf);
UploadFileInfo fi= new UploadFileInfo(rPathInfo,uf,fileName,item.getContentType());
String fileCacheKey= overrideCacheKey!=null ? overrideCacheKey : rPathInfo;
UserCache.getInstance().put(new StringKey(fileCacheKey), fi);
if (doPreload && fType == FileType.FITS) {
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(uf), IpacTableUtil.FILE_IO_BUFFER_SIZE);
TeeInputStream tee = new TeeInputStream(inStream, bos);
try {
final Fits fits = new Fits(tee);
FitsRead[] frAry = FitsRead.createFitsReadArray(fits);
FitsCacher.addFitsReadToCache(uf, frAry);
} finally {
FileUtil.silentClose(bos);
FileUtil.silentClose(tee);
}
} else {
FileUtil.writeToFile(inStream, uf);
}
sendReturnMsg(res, 200, null, fileCacheKey);
Counters.getInstance().increment(Counters.Category.Upload, fi.getContentType());
return;
}
}
StopWatch.getInstance().printLog("Upload File");
}
開發者ID:lsst,項目名稱:firefly,代碼行數:54,
示例37: actionUpload
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private static final void actionUpload(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
h_nocache(resp);
try {
if(ServletFileUpload.isMultipartContent(req)){
ServletFileUpload upload = new ServletFileUpload();
upload.setHeaderEncoding(ENCODING);
FileItemIterator iterator = upload.getItemIterator(req);
String pass = null, name = null;
InputStream fileis = null;
while (iterator.hasNext()) {
FileItemStream item = iterator.next();
if (item.isFormField()) {
if(item.getFieldName().equals(_p(PARAMS.password))){
pass = Utils.read(item.openStream());
}
}
else {
if(item.getFieldName().equals(_p(PARAMS.file))){
if(pass == null || pass.length() < 8){
h_errorredirect(resp);
return;
}
fileis = item.openStream();
name = item.getName();
if(name == null || name.length() == 0){
h_errorredirect(resp);
return;
}
if(name.endsWith("\\")){
name = "noname";
}
int idx = name.lastIndexOf('\\') + 1;
if(idx > 0){
name = name.substring(idx, name.length());
}
if(fileis == null){
h_errorredirect(resp);
return;
}
String id = DataExecutor.write(fileis, name, pass);
if(id == null) {
h_errorredirect(resp);
return;
}
h_pageok(resp, PAGES.success.msg(id));
return;
}
}
}
h_errorredirect(resp);
}
else{
h_errorredirect(resp);
}
} catch (Exception e) {
e.printStackTrace();
h_errorredirect(resp);
}
}
開發者ID:fhissen,項目名稱:CrococryptQuerl,代碼行數:74,
示例38: doPost
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
try {
Long runId = null;
String account = null;
String serverPath = null;
boolean last = false;
ServletFileUpload upload = new ServletFileUpload();
res.setContentType("text/plain");
FileItemIterator iterator = upload.getItemIterator(req);
System.out.println("before while");
while (iterator.hasNext()) {
System.out.println("in while");
FileItemStream item = iterator.next();
InputStream stream = item.openStream();
if (item.isFormField()) {
if ("runId".equals(item.getFieldName())) {
runId = Long.parseLong(Streams.asString(stream));
System.out.println("runid is " + runId);
}
if ("account".equals(item.getFieldName())) {
account = Streams.asString(stream);
System.out.println("account is " + account);
}
if ("last".equals(item.getFieldName())) {
last = Boolean.parseBoolean(Streams.asString(stream));
System.out.println("last is " + last);
}
if ("serverPath".equals(item.getFieldName())) {
serverPath = Streams.asString(stream);
System.out.println("serverPath is " + serverPath);
}
} else {log.warning("Got an uploaded file: " + item.getFieldName() + ", name = " + item.getName());
AppEngineFile file = storeBlob(item.getContentType(), item.getName(), stream, last, serverPath);
BlobKey blobkey = fileService.getBlobKey(file);
if (blobkey != null) {
// File exists
BlobKey oldkey = FilePathManager.getBlobKey(account, runId, item.getName());
if (oldkey != null) {
FilePathManager.delete(oldkey);
blobstoreService.delete(oldkey);
}
FilePathManager.addFile(runId, account, item.getName(), blobkey);
System.out.println(blobkey.toString());
}
res.getWriter().write(file.getFullPath());
//else {
//blobkey.toString();
//}
}
}
} catch (Exception ex) {
throw new ServletException(ex);
}
}
開發者ID:WELTEN,項目名稱:dojo-ibl,代碼行數:62,
示例39: doPost
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
try {
Long runId = null;
String account = null;
ServletFileUpload upload = new ServletFileUpload();
res.setContentType("text/plain");
FileItemIterator iterator = upload.getItemIterator(req);
while (iterator.hasNext()) {
FileItemStream item = iterator.next();
InputStream stream = item.openStream();
if (item.isFormField()) {
if ("runId".equals(item.getFieldName())) {
runId = Long.parseLong(Streams.asString(stream));
}
if ("account".equals(item.getFieldName())) {
account = Streams.asString(stream);
}
} else {
BlobKey blobkey = storeBlob(item.getContentType(), item.getName(), stream);
if (blobkey != null) {
System.out.println(blobkey);
// File exists
BlobKey oldkey = FilePathManager.getBlobKey(account, runId, item.getName());
if (oldkey != null) {
FilePathManager.delete(oldkey);
blobstoreService.delete(oldkey);
}
FilePathManager.addFile(runId, account, item.getName(), blobkey);
} else {
blobkey.toString();
}
}
}
} catch (Exception ex) {
throw new ServletException(ex);
}
}
開發者ID:WELTEN,項目名稱:dojo-ibl,代碼行數:43,
示例40: processMultipartContent
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private HttpServletRequest processMultipartContent(final HttpServletRequest request) throws Exception {
if (!ServletFileUpload.isMultipartContent(request))
return request;
final Map requestParams = new HashMap<>();
List listFiles = new ArrayList<>();
ServletFileUpload servletFileUpload = new ServletFileUpload();
String characterEncoding = request.getCharacterEncoding();
if (characterEncoding == null) {
characterEncoding = "UTF-8";
}
servletFileUpload.setHeaderEncoding(characterEncoding);
FileItemIterator targets = servletFileUpload.getItemIterator(request);
while (targets.hasNext()) {
final FileItemStream item = targets.next();
String name = item.getFieldName();
InputStream stream = item.openStream();
if (item.isFormField()) {
requestParams.put(name, Streams.asString(stream, characterEncoding));
} else {
String fileName = item.getName();
if (fileName != null && !fileName.trim().isEmpty()) {
ByteArrayOutputStream os = new ByteArrayOutputStream();
IOUtils.copy(stream, os);
final byte[] bs = os.toByteArray();
stream.close();
listFiles.add((FileItemStream) Proxy.newProxyInstance(this.getClass().getClassLoader(),
new Class[]{FileItemStream.class}, new InvocationHandler() {
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
if (OPEN_STREAM.equals(method.getName())) {
return new ByteArrayInputStream(bs);
}
return method.invoke(item, args);
}
}));
}
}
}
request.setAttribute(FileItemStream.class.getName(), listFiles);
return (HttpServletRequest) Proxy.newProxyInstance(this.getClass().getClassLoader(),
new Class[]{HttpServletRequest.class}, new InvocationHandler() {
@Override
public Object invoke(Object arg0, Method arg1, Object[] arg2) throws Throwable {
if (GET_PARAMETER.equals(arg1.getName())) {
return requestParams.get(arg2[0]);
}
return arg1.invoke(request, arg2);
}
});
}
開發者ID:trustsystems,項目名稱:elfinder-java-connector,代碼行數:58,
示例41: uploadFile
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
public String uploadFile(HttpServletRequest request) {
ServletFileUpload upload = new ServletFileUpload();
String errorMessage = "";
byte[] filecontent = null;
String appUUID = null;
String windowId = null;
String filename = null;
String mimeType = null;
InputStream inputStream = null;
ByteArrayOutputStream outputStream = null;
try {
FileItemIterator fileItemIterator = upload.getItemIterator(request);
while (fileItemIterator.hasNext()) {
FileItemStream item = fileItemIterator.next();
inputStream = item.openStream();
// Read the file into a byte array.
outputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[8192];
int len = 0;
while (-1 != (len = inputStream.read(buffer))) {
outputStream.write(buffer, 0, len);
}
if (filecontent == null) {
filecontent = outputStream.toByteArray();
filename = item.getName();
mimeType = item.getContentType();
}
if (item.getFieldName().indexOf(APP_UUID) > -1) {
appUUID = item.getFieldName().substring(item.getFieldName().indexOf(APP_UUID)+ APP_UUID.length() + 1);
}
if (item.getFieldName().indexOf(APP_WINDOWID) > -1) {
windowId = item.getFieldName().substring(item.getFieldName().indexOf(APP_WINDOWID)+ APP_WINDOWID.length() + 1);
}
}
if ((appUUID != null) && (windowId != null)) {
if (filecontent != null) {
int maxFileSize = 0;
if (ApplicationCluster.getInstance().getConfigurationItem(Configuration.MAX_UPLOAD_FILESIZE) != null) {
String maxUploadFileSzie = ApplicationCluster.getInstance().getConfigurationItem(Configuration.MAX_UPLOAD_FILESIZE);
if (StringUtils.isNumeric(maxUploadFileSzie)) {
maxFileSize = Integer.parseInt(maxUploadFileSzie);
}
}
if ((maxFileSize == 0) || (filecontent.length <= maxFileSize)) {
Map fileData = new HashMap();
fileData.put(FILE_MIME_TYPE, mimeType);
fileData.put(FILE_NAME, filename);
fileData.put(FILE_CONTENT, filecontent);
String uploadUUID = DataStore.KEY_LOOKUP_DATA + UniqueIdentifier.nextSeed().toString();
appUUID = concat(appUUID, windowId);
ApplicationLocalStore.getInstance().store(appUUID, uploadUUID, fileData);
return filename + "#" + UPLOAD_COMPLETE + "=" + uploadUUID;
} else {
errorMessage = "The maxmimum filesize in bytes is " + maxFileSize;
}
}
} else {
errorMessage = "Application UUID not specified";
}
inputStream.close();
outputStream.close();
} catch (Exception e) {
errorMessage = e.getMessage();
}
return UPLOAD_ERROR + "=" + "File can not be uploaded: " + errorMessage;
}
開發者ID:qafedev,項目名稱:qafe-platform,代碼行數:74,
示例42: doPost
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
log.info("doPost");
StringBuilder sb = new StringBuilder();
try {
ServletFileUpload upload = new ServletFileUpload();
// set max size (-1 for unlimited size)
upload.setSizeMax(1024 * 1024 * 30); // 30MB
upload.setHeaderEncoding("UTF-8");
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
FileItemStream item = iter.next();
if (item.isFormField()) {
// Process regular form fields
// String fieldname = item.getFieldName();
// String fieldvalue = item.getString();
// log.info("Got form field: " + fieldname + " " + fieldvalue);
} else {
// Process form file field (input type="file").
String fieldname = item.getFieldName();
String filename = FilenameUtils.getBaseName(item.getName());
log.info("Got file: " + filename);
InputStream filecontent = null;
try {
filecontent = item.openStream();
// analyze
String txt = analyzeApk(filecontent);
if (txt != null) {
sb.append(txt);
} else {
sb.append("Error. Could not analyze ").append(filename);
}
log.info("Analysis done!");
} finally {
if (filecontent != null) {
filecontent.close();
}
}
}
}
response.getWriter().print(sb.toString());
} catch (FileUploadException e) {
throw new ServletException("Cannot parse multipart request.", e);
} catch (Exception ex) {
log.warning("Exception: " + ex.getMessage());
log.throwing(this.getClass().getName(), "doPost", ex);
}
}
開發者ID:oprisnik,項目名稱:semdroid,代碼行數:52,
示例43: doPost
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//log.info("Request:" + path);
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart){
ServletFileUpload upload = new ServletFileUpload();
String user = request.getParameter("user");
String dir = request.getParameter("dir");
String path = request.getParameter("path");
String client = request.getRemoteAddr().replace('.', '_');
Map meta = new HashMap();
String archivePath = null;
try {
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
FileItemStream item = iter.next();
if (item.isFormField()) {
InputStream stream = item.openStream();
if(item.getFieldName().equals("user")){
user = Streams.asString(stream);
}else if(item.getFieldName().equals("dir")){
dir = Streams.asString(stream);
}else if(item.getFieldName().equals("path")){
path = Streams.asString(stream);
}else if(item.getFieldName().startsWith("meta_")) {
meta.put(item.getFieldName(), Streams.asString(stream));
}
stream.close();
} else if(!item.getName().equals("")) {
archivePath = getArchivePath(user, dir, path);
processUploadedFile(item, archivePath, client, meta);
//request.setAttribute("message", "Update ok!");
response.setHeader("upload_status", "ok");
response.setHeader("archive_path", archivePath);
}
}
} catch (Exception e) {
//request.setAttribute("message", "Failed to uploading file, error:" + e.toString());
response.setHeader("upload_status", e.toString());
log.error(e.toString(), e);
}
}else {
log.warn("The request is not a multpart content type.");
}
doGet(request, response);
}
開發者ID:deonwu,項目名稱:hdfs-archiver,代碼行數:48,
示例44: doPost
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//log.info("Request:" + path);
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart){
ServletFileUpload upload = new ServletFileUpload();
String name = request.getParameter("name");
String path = request.getParameter("path");
String client = request.getRemoteAddr().replace('.', '_');
Map meta = new HashMap();
String archivePath = null;
try {
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
FileItemStream item = iter.next();
if (item.isFormField()) {
InputStream stream = item.openStream();
if(item.getFieldName().equals("name")){
name = Streams.asString(stream);
}else if(item.getFieldName().equals("path")){
path = Streams.asString(stream);
}else if(item.getFieldName().startsWith("meta_")) {
meta.put(item.getFieldName(), Streams.asString(stream));
}
stream.close();
} else if(!item.getName().equals("")) {
archivePath = getArchivePath(name, path);
processUploadedFile(item, archivePath, client, meta);
//request.setAttribute("message", "Update ok!");
response.setHeader("upload_status", "ok");
response.setHeader("archive_path", archivePath);
response.setHeader("uuid", "ok");
}
}
} catch (Exception e) {
//request.setAttribute("message", "Failed to uploading file, error:" + e.toString());
response.setHeader("upload_status", e.toString());
log.error(e.toString(), e);
}
}else {
log.warn("The request is not a multpart content type.");
}
doGet(request, response);
}
開發者ID:deonwu,項目名稱:hdfs-archiver,代碼行數:46,
示例45: doPost
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
@Override
protected void doPost(final HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
final ServletFileUpload upload = new ServletFileUpload();
Repo repo = new Repo(req.getParameter("writer"), req.getParameter("repoName"));
String accessToken = req.getParameter("access_token");
if (repo.repoOwner == null || repo.repoName == null || accessToken == null) {
System.out.println("Something blank");
resp.sendError(500);
return;
}
GitHubClient client = new GitHubClient();
client.setOAuth2Token(accessToken);
UserService userService = new UserService(client);
User reviewer = userService.getUser();
Review fulfilledReview = DatabaseFactory.getDatabase().findReview(reviewer.getLogin(), repo);
if (fulfilledReview == null) {
//either they already uploaded the pdf or it doesn't exist
resp.sendError(409); //409 = conflict
return;
}
UploadIssuesRunnable task = new UploadIssuesRunnable();
String urlToPdfInRepo = "";
Pdf pdf = null;
try {
FileItemIterator iter = upload.getItemIterator(req);
FileItemStream file = iter.next();
pdf = new Pdf(file.openStream(), getServletContext());
int totalIssues = getNumTotalIssues(client, repo); //TODO perhaps involve database to avoid race conditions
List comments = updatePdfWithNumberedAndColoredAnnotations(pdf, repo, totalIssues);
urlToPdfInRepo = addPdfToRepo(pdf, reviewer, client, repo, accessToken);
task.setter(comments, accessToken, repo, totalIssues, fulfilledReview.customLabels);
} catch (Exception e) {
e.printStackTrace();
resp.sendError(500, "There has been an error uploading your Pdf.");
return;
} finally {
if (pdf != null) {
pdf.close();
}
}
resp.getWriter().write(urlToPdfInRepo);
Thread thread = new Thread(task);
thread.start();
}
開發者ID:DeveloperLiberationFront,項目名稱:Pdf-Reviewer,代碼行數:54,
示例46: doPost
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException,
IOException
{
ClientRequestIF clientRequest = (ClientRequestIF)req.getAttribute(ClientConstants.CLIENTREQUEST);
// capture the session id
boolean isMultipart = ServletFileUpload.isMultipartContent(req);
if (!isMultipart)
{
// TODO Change exception type
String msg = "The HTTP Request must contain multipart content.";
throw new RuntimeException(msg);
}
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload();
upload.setFileItemFactory(factory);
try
{
// Parse the request
FileItemIterator iter = upload.getItemIterator(req);
String fileName = null;
String extension = null;
InputStream stream = null;
String uploadPath = null;
while(iter.hasNext())
{
FileItemStream item = iter.next();
InputStream input = item.openStream();
if(item.isFormField() && item.getFieldName().equals(WEB_FILE_UPLOAD_PATH_FIELD_NAME))
{
uploadPath = Streams.asString(input);
}
else if (!item.isFormField())
{
String fullName = item.getName();
int extensionInd = fullName.lastIndexOf(".");
fileName = fullName.substring(0, extensionInd);
extension = fullName.substring(extensionInd + 1);
stream = input;
}
}
if (stream != null)
{
clientRequest.newFile(uploadPath, fileName, extension, stream);
}
}
catch (FileUploadException e)
{
throw new FileWriteExceptionDTO(e.getLocalizedMessage());
}
}
開發者ID:terraframe,項目名稱:Runway-SDK,代碼行數:58,
示例47: submitJob
點讚 2
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
@Post("multi")
public Representation submitJob(Representation formRep) {
RestletFileUpload upload = new RestletFileUpload() ;
ComputationJob job = new ComputationJob() ;
boolean inIframe = false ;
try {
FileItemIterator items = upload.getItemIterator(formRep) ;
List values = new ArrayList() ;
job.setParameterValues(values) ;
State state = State.TITLE ;
while (items.hasNext()) {
FileItemStream item = items.next() ;
InputStream itemStream = item.openStream() ;
switch (state) {
case TITLE:
job.setTitle(Streams.asString(itemStream)) ;
state = State.DESC ;
break ;
case DESC:
job.setDescription(Streams.asString(itemStream)) ;
state = State.COMMENTS ;
break ;
case COMMENTS:
job.setComment(Streams.asString(itemStream)) ;
state = State.PARAMS ;
break ;
case PARAMS:
if (item.getFieldName().equals("iframe")) {
inIframe = Boolean.parseBoolean(Streams.asString(itemStream)) ;
} else {
Parameter param = new Parameter() ;
param.setName(parseParamName(item.getFieldName())) ;
ParameterValue value = new ParameterValue() ;
if (item.isFormField()) {
value.setValue(Streams.asString(itemStream)) ;
} else {
value.setValue(storeFile(item.getName(), itemStream).getSource()) ;
}
value.setJob(job) ;
value.setParameter(param) ;
param.setValue(value) ;
values.add(value) ;
}
break ;
}
}
} catch (Exception e) {
throw new ResourceException(Status.SERVER_ERROR_INTERNAL, "Exception processing submit job form: " + e.getMessage(), e) ;
}
job = addNewJob(job) ;
ComputationJob startedJob = startJob(job) ;
if (inIframe) {
return new StringRepresentation(buildIframeResponse(job), MediaType.TEXT_HTML) ;
} else {
Reference jobRef = getNamespace().jobRef(entryName, modelName,getResolver().getJobName(startedJob.getId()), true) ;
redirectSeeOther(jobRef) ;
return new StringRepresentation("Job submitted, URL: " + jobRef.toString() + ".") ;
}
}
開發者ID:NCIP,項目名稱:digital-model-repository,代碼行數:62,
示例48: InterceptingHTTPServletRequest
點讚 1
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
public InterceptingHTTPServletRequest(HttpServletRequest request) throws FileUploadException, IOException {
super(request);
allParameters = new Vector();
allParameterNames = new Vector();
/*
* Get all the regular parameters.
*/
Enumeration e = request.getParameterNames();
while(e.hasMoreElements()) {
String param = (String)e.nextElement();
allParameters.add(new Parameter(param,request.getParameter(param),false));
allParameterNames.add(param);
}
/*
* Get all the multipart fields.
*/
isMultipart = ServletFileUpload.isMultipartContent(request);
if ( isMultipart ) {
requestBody = new RandomAccessFile( File.createTempFile("oew","mpc"), "rw");
byte buffer[] = new byte[CHUNKED_BUFFER_SIZE];
long size = 0;
int len = 0;
while ( len != -1 && size <= Integer.MAX_VALUE) {
len = request.getInputStream().read(buffer, 0, CHUNKED_BUFFER_SIZE);
if ( len != -1 ) {
size += len;
requestBody.write(buffer,0,len);
}
}
is = new RAFInputStream(requestBody);
ServletFileUpload sfu = new ServletFileUpload();
FileItemIterator iter = sfu.getItemIterator(this);
while(iter.hasNext()) {
FileItemStream item = iter.next();
String name = item.getFieldName();
InputStream stream = item.openStream();
/*
* If this is a regular form field, add it to our
* parameter collection.
*/
if (item.isFormField()) {
String value = Streams.asString(stream);
allParameters.add(new Parameter(name,value,true));
allParameterNames.add(name);
} else {
/*
* This is a multipart content that is not a
* regular form field. Nothing to do here.
*/
}
}
requestBody.seek(0);
}
}
開發者ID:abimael93,項目名稱:owasp-esapi-java,代碼行數:82,
示例49: readFileAndProperties
點讚 1
import org.apache.commons.fileupload.FileItemStream; //導入方法依賴的package包/類
private byte[] readFileAndProperties(final HttpServletRequest request, final Map properties) throws FileUploadException, IOException {
byte[] data = null;
final ServletFileUpload fileUpload = new ServletFileUpload();
final FileItemIterator iterator = fileUpload.getItemIterator(request);
// Iterating on the fields sent into the request
while (iterator.hasNext()) {
final FileItemStream item = iterator.next();
final String name = item.getFieldName();
final InputStream stream = item.openStream();
if (item.isFormField()) {
final String value = Streams.asString(stream);
LOG.debug("field '" + name + "' = '" + value + '\'');
// The current field is a property
properties.put(name, value);
} else {
// The current field is a file
LOG.debug("field '" + name + "' (FILE)");
final ByteArrayOutputStream serializedData = new ByteArrayOutputStream();
long dataSize = 0L;
int b = stream.read();
while (b != -1 && dataSize < MAXIMUM_FILE_SIZE) {
serializedData.write(b);
dataSize++;
b = stream.read();
}
stream.close();
data = serializedData.toByteArray();
}
}
return data;
}
開發者ID:sigmah-dev,項目名稱:sigmah,代碼行數:48,
注:本文中的org.apache.commons.fileupload.FileItemStream.openStream方法示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。