java.net.URLConnection#guessContentTypeFromName ( )源码实例Demo

下面列出了java.net.URLConnection#guessContentTypeFromName ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: molgenis   文件: LogoController.java
/** Get a file from the logo subdirectory of the filestore */
@GetMapping("/logo/{name}.{extension}")
public void getLogo(
    OutputStream out,
    @PathVariable("name") String name,
    @PathVariable("extension") String extension,
    HttpServletResponse response)
    throws IOException {
  File f = fileStore.getFileUnchecked("/logo/" + name + "." + extension);
  if (!f.exists()) {
    response.sendError(HttpServletResponse.SC_NOT_FOUND);
    return;
  }

  // Try to get contenttype from file
  String contentType = URLConnection.guessContentTypeFromName(f.getName());
  if (contentType != null) {
    response.setContentType(contentType);
  }

  FileCopyUtils.copy(new FileInputStream(f), out);
}
 
源代码2 项目: judgels   文件: AwsFileSystem.java
@Override
public void uploadPublicFile(Path filePath, InputStream content) {
    String destFilePathString = filePath.toString();

    ObjectMetadata objectMetadata = new ObjectMetadata();

    String contentType = URLConnection.guessContentTypeFromName(destFilePathString);
    if (contentType != null) {
        objectMetadata.setContentType(contentType);
        if (contentType.startsWith("image/")) {
            objectMetadata.setCacheControl("no-transform,public,max-age=300,s-maxage=900");
        }
    }

    s3.putObject(bucketName, destFilePathString, content, objectMetadata);
}
 
源代码3 项目: oxd   文件: ApiClient.java
/**
 * Guess Content-Type header from the given file (defaults to "application/octet-stream").
 *
 * @param file The given file
 * @return The guessed Content-Type
 */
public String guessContentTypeFromFile(File file) {
    String contentType = URLConnection.guessContentTypeFromName(file.getName());
    if (contentType == null) {
        return "application/octet-stream";
    } else {
        return contentType;
    }
}
 
源代码4 项目: Zom-Android-XMPP   文件: GalleryMediaViewHolder.java
private void showMediaThumbnail (String mimeType, Uri mediaUri, int id)
{
    /* Guess the MIME type in case we received a file that we can display or play*/
    if (TextUtils.isEmpty(mimeType) || mimeType.startsWith("application")) {
        String guessed = URLConnection.guessContentTypeFromName(mediaUri.toString());
        if (!TextUtils.isEmpty(guessed)) {
            if (TextUtils.equals(guessed, "video/3gpp"))
                mimeType = "audio/3gpp";
            else
                mimeType = guessed;
        }
    }
    setOnClickListenerMediaThumbnail(mimeType, mediaUri);

    if (mMediaThumbnail.getVisibility() == View.GONE)
        mMediaThumbnail.setVisibility(View.VISIBLE);

    if( mimeType.startsWith("image/") ) {
        setImageThumbnail(context.getContentResolver(), id, mediaUri);
      //  mMediaThumbnail.setBackgroundColor(Color.TRANSPARENT);
        // holder.mMediaThumbnail.setBackgroundColor(Color.WHITE);

    }
    else if (mimeType.startsWith("audio"))
    {
        mMediaThumbnail.setImageResource(R.drawable.media_audio_play);
        mMediaThumbnail.setBackgroundColor(Color.TRANSPARENT);
    }
    else
    {
        mMediaThumbnail.setImageResource(R.drawable.ic_file); // generic file icon

    }

    //mContainer.setBackgroundColor(mContainer.getResources().getColor(android.R.color.transparent));



}
 
源代码5 项目: blade   文件: StaticFileHandler.java
/**
 * Sets the content type header for the HTTP Response
 *
 * @param response HTTP response
 * @param file     file to extract content type
 */
private static void setContentTypeHeader(HttpResponse response, File file) {
    String contentType = StringKit.mimeType(file.getName());
    if (null == contentType) {
        contentType = URLConnection.guessContentTypeFromName(file.getName());
    }
    response.headers().set(HttpConst.CONTENT_TYPE, contentType);
}
 
private void showMediaThumbnail (String mimeType, Uri mediaUri, int id)
{
    /* Guess the MIME type in case we received a file that we can display or play*/
    if (TextUtils.isEmpty(mimeType) || mimeType.startsWith("application")) {
        String guessed = URLConnection.guessContentTypeFromName(mediaUri.toString());
        if (!TextUtils.isEmpty(guessed)) {
            if (TextUtils.equals(guessed, "video/3gpp"))
                mimeType = "audio/3gpp";
            else
                mimeType = guessed;
        }
    }
    setOnClickListenerMediaThumbnail(mimeType, mediaUri);

    if (mMediaThumbnail.getVisibility() == View.GONE)
        mMediaThumbnail.setVisibility(View.VISIBLE);

    if( mimeType.startsWith("image/") ) {
        setImageThumbnail(context.getContentResolver(), id, mediaUri);
      //  mMediaThumbnail.setBackgroundColor(Color.TRANSPARENT);
        // holder.mMediaThumbnail.setBackgroundColor(Color.WHITE);

    }
    else if (mimeType.startsWith("audio"))
    {
        mMediaThumbnail.setImageResource(R.drawable.media_audio_play);
        mMediaThumbnail.setBackgroundColor(Color.TRANSPARENT);
    }
    else
    {
        mMediaThumbnail.setImageResource(R.drawable.file_unknown); // generic file icon

    }

    //mContainer.setBackgroundColor(mContainer.getResources().getColor(android.R.color.transparent));



}
 
源代码7 项目: feign-form   文件: AbstractWriter.java
/**
 * Writes file's metadata.
 *
 * @param output      output writer.
 * @param name        name for piece of data.
 * @param fileName    file name.
 * @param contentType type of file content. May be the {@code null}, in that case it will be determined by file name.
 */
@SneakyThrows
protected void writeFileMetadata (Output output, String name, String fileName, String contentType) {
  val contentDespositionBuilder = new StringBuilder()
      .append("Content-Disposition: form-data; name=\"").append(name).append("\"");
  if (fileName != null) {
    contentDespositionBuilder.append("; ").append("filename=\"").append(fileName).append("\"");
  }

  String fileContentType = contentType;
  if (fileContentType == null) {
    if (fileName != null) {
      fileContentType = URLConnection.guessContentTypeFromName(fileName);
    }
    if (fileContentType == null) {
      fileContentType = "application/octet-stream";
    }
  }

  val string = new StringBuilder()
      .append(contentDespositionBuilder.toString()).append(CRLF)
      .append("Content-Type: ").append(fileContentType).append(CRLF)
      .append("Content-Transfer-Encoding: binary").append(CRLF)
      .append(CRLF)
      .toString();

  output.write(string);
}
 
源代码8 项目: tutorials   文件: MimeTypeUnitTest.java
/**
 * Test method demonstrating the usage of URLConnection to resolve MIME type.
 * 
 */
@Test
public void whenUsingGuessContentTypeFromName_thenSuccess() {
    final File file = new File(FILE_LOC);
    final String mimeType = URLConnection.guessContentTypeFromName(file.getName());
    assertEquals(mimeType, PNG_EXT);
}
 
源代码9 项目: openapi-generator   文件: ApiClient.java
/**
 * Guess Content-Type header from the given file (defaults to "application/octet-stream").
 *
 * @param file The given file
 * @return The guessed Content-Type
 */
public String guessContentTypeFromFile(File file) {
    String contentType = URLConnection.guessContentTypeFromName(file.getName());
    if (contentType == null) {
        return "application/octet-stream";
    } else {
        return contentType;
    }
}
 
源代码10 项目: openapi-generator   文件: ApiClient.java
/**
 * Guess Content-Type header from the given file (defaults to "application/octet-stream").
 *
 * @param file The given file
 * @return The guessed Content-Type
 */
public String guessContentTypeFromFile(File file) {
    String contentType = URLConnection.guessContentTypeFromName(file.getName());
    if (contentType == null) {
        return "application/octet-stream";
    } else {
        return contentType;
    }
}
 
源代码11 项目: htmlunit   文件: WebClient.java
/**
 * Tries to guess the content type of the file.<br>
 * This utility could be located in a helper class but we can compare this functionality
 * for instance with the "Helper Applications" settings of Mozilla and therefore see it as a
 * property of the "browser".
 * @param file the file
 * @return "application/octet-stream" if nothing could be guessed
 */
public String guessContentType(final File file) {
    final String fileName = file.getName();
    if (fileName.endsWith(".xhtml")) {
        // Java's mime type map returns application/xml in JDK8.
        return MimeType.APPLICATION_XHTML;
    }

    // Java's mime type map does not know these in JDK8.
    if (fileName.endsWith(".js")) {
        return MimeType.APPLICATION_JAVASCRIPT;
    }
    if (fileName.toLowerCase(Locale.ROOT).endsWith(".css")) {
        return MimeType.TEXT_CSS;
    }

    String contentType = URLConnection.guessContentTypeFromName(fileName);
    if (contentType == null) {
        try (InputStream inputStream = new BufferedInputStream(Files.newInputStream(file.toPath()))) {
            contentType = URLConnection.guessContentTypeFromStream(inputStream);
        }
        catch (final IOException e) {
            // Ignore silently.
        }
    }
    if (contentType == null) {
        contentType = MimeType.APPLICATION_OCTET_STREAM;
    }
    return contentType;
}
 
源代码12 项目: HtmlUnit-Android   文件: WebClient.java
/**
 * Tries to guess the content type of the file.<br>
 * This utility could be located in a helper class but we can compare this functionality
 * for instance with the "Helper Applications" settings of Mozilla and therefore see it as a
 * property of the "browser".
 * @param file the file
 * @return "application/octet-stream" if nothing could be guessed
 */
public String guessContentType(final File file) {
    final String fileName = file.getName();
    if (fileName.endsWith(".xhtml")) {
        // Java's mime type map returns application/xml in JDK8.
        return "application/xhtml+xml";
    }

    // Java's mime type map does not know these in JDK8.
    if (fileName.endsWith(".js")) {
        return "application/javascript";
    }
    if (fileName.toLowerCase(Locale.ROOT).endsWith(".css")) {
        return "text/css";
    }

    String contentType = URLConnection.guessContentTypeFromName(fileName);
    if (contentType == null) {
        try (InputStream inputStream = new BufferedInputStream(new FileInputStream(file))) {
            contentType = URLConnection.guessContentTypeFromStream(inputStream);
        }
        catch (final IOException e) {
            // Ignore silently.
        }
    }
    if (contentType == null) {
        contentType = "application/octet-stream";
    }
    return contentType;
}
 
源代码13 项目: teammates   文件: MockPart.java
public MockPart(String filePath) throws IOException {
    File file = new File(filePath);
    this.contentType = URLConnection.guessContentTypeFromName(file.getName());
    this.inputStream = Files.newInputStream(Paths.get(filePath));
    this.size = file.length();
    this.name = file.getName();
}
 
源代码14 项目: xtext-web   文件: DefaultContentTypeProvider.java
@Override
public String getContentType(String fileName) {
  if (fileName != null) {
    return URLConnection.guessContentTypeFromName(fileName);
  }
  return null;
}
 
源代码15 项目: dhis2-android-sdk   文件: FileResourceUtil.java
static File renameFile(File file, String newFileName, Context context) {
    String contentType = URLConnection.guessContentTypeFromName(file.getName());
    String generatedName = generateFileName(MediaType.get(contentType), newFileName);
    File newFile = new File(context.getFilesDir(), "sdk_resources/" + generatedName);

    if (!file.renameTo(newFile)) {
        Log.d(FileResourceUtil.class.getCanonicalName(),
                "Fail renaming " + file.getName() + " to " + generatedName);
    }
    return newFile;
}
 
源代码16 项目: Zom-Android-XMPP   文件: ChatSessionAdapter.java
synchronized void sendPostponedMessages() {

        if (!sendingPostponed) {
            sendingPostponed = true;

            String[] projection = new String[]{BaseColumns._ID, Imps.Messages.BODY,
                    Imps.Messages.PACKET_ID,
                    Imps.Messages.DATE, Imps.Messages.TYPE, Imps.Messages.IS_DELIVERED};
            String selection = Imps.Messages.TYPE + "=?";

            Cursor c = mContentResolver.query(mMessageURI, projection, selection,
                    new String[]{Integer.toString(Imps.MessageType.QUEUED)}, null);
            if (c == null) {
                RemoteImService.debug("Query error while querying postponed messages");
                return;
            }

            if (c.getCount() > 0) {
                ArrayList<String> messages = new ArrayList<String>();

                while (c.moveToNext())
                    messages.add(c.getString(1));

                removeMessageInDb(Imps.MessageType.QUEUED);

                for (String body : messages) {

                    if (body.startsWith("vfs:/") && (body.split(" ").length == 1))
                    {
                        String offerId = UUID.randomUUID().toString();
                        String mimeType = URLConnection.guessContentTypeFromName(body);
                        if (mimeType != null) {

                            if (mimeType.startsWith("text"))
                                mimeType = "text/plain";

                            offerData(offerId, body, mimeType);
                        }
                    }
                    else {
                        sendMessage(body, false);
                    }
                }
            }

            c.close();

            sendingPostponed = false;
        }
    }
 
源代码17 项目: android-chromium   文件: AndroidNetworkLibrary.java
/**
 * @return the mime type (if any) that is associated with the file
 *         extension. Returns null if no corresponding mime type exists.
 */
@CalledByNative
static public String getMimeTypeFromExtension(String extension) {
    return URLConnection.guessContentTypeFromName("foo." + extension);
}
 
源代码18 项目: htmlunit   文件: FileReader.java
/**
 * Reads the contents of the specified {@link Blob} or {@link File}.
 * @param object the {@link Blob} or {@link File} from which to read
 * @throws IOException if an error occurs
 */
@JsxFunction
public void readAsDataURL(final Object object) throws IOException {
    readyState_ = LOADING;
    final java.io.File file = ((File) object).getFile();

    try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) {
        FileUtils.copyFile(file, bos);

        final byte[] bytes = bos.toByteArray();
        final String value = new String(new Base64().encode(bytes), StandardCharsets.US_ASCII);
        final BrowserVersion browserVersion = getBrowserVersion();

        result_ = "data:";

        String contentType;
        if (value.isEmpty()) {
            contentType = URLConnection.guessContentTypeFromName(file.getName());
        }
        else {
            contentType = Files.probeContentType(file.toPath());
            // this is a bit weak, on linux we get different results
            // e.g. 'application/octet-stream' for a file with random bits
            // instead of null on windows
        }

        if (getBrowserVersion().hasFeature(JS_FILEREADER_EMPTY_NULL)) {
            if (value.isEmpty()) {
                result_ = "null";
            }
            else {
                if (contentType != null) {
                    result_ += contentType;
                }
                result_ += ";base64," + value;
            }
        }
        else {
            final boolean includeConentType = browserVersion.hasFeature(JS_FILEREADER_CONTENT_TYPE);
            if (!value.isEmpty() || includeConentType) {
                if (contentType == null) {
                    contentType = MimeType.APPLICATION_OCTET_STREAM;
                }
                result_ += contentType + ";base64," + value;
            }
        }
    }
    readyState_ = DONE;

    final Event event = new Event(this, Event.TYPE_LOAD);
    fireEvent(event);
}
 
源代码19 项目: SmartIM4IntelliJ   文件: WXChatConsole.java
@Override public void sendFileInternal(final String file) {
    // error("暂不支持,敬请关注 https://github.com/Jamling/SmartIM 或
    // https://github.com/Jamling/SmartQQ4IntelliJ 最新动态");
    final File f = new File(file);
    final WechatClient client = getClient();
    if (!checkClient(client)) {
        return;
    }

    String ext = FileUtils.getExtension(f.getPath()).toLowerCase();
    String mimeType = URLConnection.guessContentTypeFromName(f.getName());
    String media = "pic";
    int type = WechatMessage.MSGTYPE_IMAGE;
    String content = "";
    if (Arrays.asList("png", "jpg", "jpeg", "bmp").contains(ext)) {
        type = WechatMessage.MSGTYPE_IMAGE;
        media = "pic";
    } else if ("gif".equals(ext)) {
        type = WechatMessage.MSGTYPE_EMOTICON;
        media = "doc";
    } else {
        type = WechatMessage.MSGTYPE_FILE;
        media = "doc";
    }

    final UploadInfo uploadInfo = client.uploadMedia(f, mimeType, media);

    if (uploadInfo == null) {
        error("上传失败");
        return;
    }
    String link = StringUtils.file2url(file);
    String label = file.replace('\\', '/');
    String input = null;
    if (type == WechatMessage.MSGTYPE_EMOTICON || type == WechatMessage.MSGTYPE_IMAGE) {
        input = String.format("<img src=\"%s\" border=\"0\" alt=\"%s\"", link, label);
        if (uploadInfo.CDNThumbImgWidth > 0) {
            input += " width=\"" + uploadInfo.CDNThumbImgWidth + "\"";
        }
        if (uploadInfo.CDNThumbImgHeight > 0) {
            input += " height=\"" + uploadInfo.CDNThumbImgHeight + "\"";
        }
        input = String.format("<a href=\"%s\" title=\"%s\">%s</a>", link, link, input);
    } else {
        input = String.format("<a href=\"%s\" title=\"%s\">%s</a>", link, label, label);
        content = client.createFileMsgContent(f, uploadInfo.MediaId);
    }

    final WechatMessage m = client.createMessage(type, content, contact);
    m.text = input;
    m.MediaId = uploadInfo.MediaId;

    client.sendMessage(m, contact);
    if (!hideMyInput()) {
        String name = client.getAccount().getName();
        String msg = WXUtils.formatHtmlOutgoing(name, m.text, false);
        insertDocument(msg);
        IMHistoryManager.getInstance().save(getHistoryDir(), getHistoryFile(), msg);
    }
}
 
源代码20 项目: teammates   文件: BaseComponentTestCase.java
protected static String writeFileToGcs(String googleId, String filename) throws IOException {
    byte[] image = FileHelper.readFileAsBytes(filename);
    String contentType = URLConnection.guessContentTypeFromName(filename);
    return GoogleCloudStorageHelper.writeImageDataToGcs(googleId, image, contentType);
}