小编use*_*592的帖子

在新选项卡中打开Base64

我有一个Base64编码的文件,可以是PDF文件或图像.我想在HTML5页面中创建一个按钮,在新选项卡中打开此base64(或者新页面无关紧要)

我发现这段代码可以解决问题:

<a href="http://chriscoyier.net" 
   onclick="window.open(this.href); return false;" 
   onkeypress="window.open(this.href); return false;">
     This link will open in new window/tab
</a>
Run Code Online (Sandbox Code Playgroud)

它运作良好.但是当我用http替换http链接时

href="data:application/octet-stream;base64,/9j/4A.."
Run Code Online (Sandbox Code Playgroud)

然后下载文件但不在浏览器中显示.

我该怎么做?

谢谢

javascript html5 base64

9
推荐指数
2
解决办法
3万
查看次数

使用Jersey上传文件:FormDataContentDisposition为null

我正在尝试使用Jersey实现文件上传,所以我按照这个例子:http: //www.mkyong.com/webservices/jax-rs/file-upload-example-in-jersey/ ,它与HTML页面配合得很好.现在我将它改编为我的应用程序,这里是代码:

  public Response uploadFile(
    @FormDataParam("file") InputStream uploadedInputStream,
    @FormDataParam("file") FormDataContentDisposition fileDetail)
    throws IOException {

Response.Status respStatus = Response.Status.OK;

if (fileDetail == null) {
    respStatus = Response.Status.INTERNAL_SERVER_ERROR;
} else {
    try {
    initPath();
    if (fileDetail.getSize() > OntoWebStudioUtil
        .getUploadFileLimit()) {
        respStatus = Response.Status.NOT_ACCEPTABLE;
        return Response.status(respStatus).build();
    }

    writeToFile(uploadedInputStream, tempDirectory);
    } catch (Exception e) {
    respStatus = Response.Status.INTERNAL_SERVER_ERROR;
    e.printStackTrace();
    }
}
return Response.status(respStatus).build();
}
Run Code Online (Sandbox Code Playgroud)

但是使用调试视图,一旦我上传了我的图片并按下按钮发送然后到达此处,uploadInputStream和fileDetail为null.所以我无能为力......我是Servlet的初学者,然后是REST,所以请放纵.

谢谢.

java rest jersey

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

base64 ×1

html5 ×1

java ×1

javascript ×1

jersey ×1

rest ×1