java openstream_Java FileItemStream.openStream方法代碼示例

本文整理匯總了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;未經允許,請勿轉載。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值