/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
*/ package org.apache.catalina.core;
/** * Adaptor to allow {@link FileItem} objects generated by the package renamed commons-upload to be used by the Servlet * 3.0 upload API that expects {@link Part}s.
*/ publicclass ApplicationPart implements Part {
/* * Adapted from FileUploadBase.getFileName()
*/
@Override public String getSubmittedFileName() {
String fileName = null;
String cd = getHeader("Content-Disposition"); if (cd != null) {
String cdl = cd.toLowerCase(Locale.ENGLISH); if (cdl.startsWith("form-data") || cdl.startsWith("attachment")) {
ParameterParser paramParser = new ParameterParser();
paramParser.setLowerCaseNames(true); // Parameter parser can handle null input
Map<String,String> params = paramParser.parse(cd, ';'); if (params.containsKey("filename")) {
fileName = params.get("filename"); // The parser will remove surrounding '"' but will not // unquote any \x sequences. if (fileName != null) { // RFC 6266. This is either a token or a quoted-string if (fileName.indexOf('\\') > -1) { // This is a quoted-string
fileName = HttpParser.unquote(fileName.trim());
} else { // This is a token
fileName = fileName.trim();
}
} else { // Even if there is no value, the parameter is present, // so we return an empty file name rather than no file // name.
fileName = "";
}
}
}
} return fileName;
}
}
¤ Dauer der Verarbeitung: 0.33 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.