- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 servlet,我首先在其中下载 pdf http://www.cbwe.gov.in/htmleditor1/pdf/sample.pdf将其内容上传到我的 blobstore 上,当用户在浏览器中发送 get 请求时,将在浏览器中下载 blob,但它不会下载,而是以其他格式显示数据。这是我的 servlet 代码:
package org.ritesh;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.ByteBuffer;
import javax.servlet.http.*;
import org.apache.commons.io.IOUtils;
import com.google.appengine.api.blobstore.BlobKey;
import com.google.appengine.api.blobstore.BlobstoreService;
import com.google.appengine.api.blobstore.BlobstoreServiceFactory;
import com.google.appengine.api.files.AppEngineFile;
import com.google.appengine.api.files.FileServiceFactory;
import com.google.appengine.api.files.FileService;
import com.google.appengine.api.files.FileWriteChannel;
@SuppressWarnings("serial")
public class BlobURLServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, world");
FileService fileService = FileServiceFactory.getFileService();
// Create a new Blob file with mime-type "text/plain"
String url="http://www.cbwe.gov.in/htmleditor1/pdf/sample.pdf";
URL url1=new URL(url);
HttpURLConnection conn=(HttpURLConnection) url1.openConnection();
String content_type=conn.getContentType();
InputStream stream =conn.getInputStream();
AppEngineFile file = fileService.createNewBlobFile("application/pdf");
file=new AppEngineFile(file.getFullPath());
Boolean lock = true;
FileWriteChannel writeChannel = fileService.openWriteChannel(file, lock);
// This time we write to the channel directly
String s1="";
String s2="";
byte[] bytes = IOUtils.toByteArray(stream);
writeChannel.write(ByteBuffer.wrap(bytes));
writeChannel.closeFinally();
BlobKey blobKey = fileService.getBlobKey(file);
BlobstoreService blobStoreService = BlobstoreServiceFactory.getBlobstoreService();
blobStoreService.serve(blobKey, resp);
}
}
我在 onemoredemo1.appspot.com 上部署了这个 servlet。请打开此 url,并注意当您单击 BlobURL servlet 时,它显示内容而不是显示下载对话框。我应该在代码中进行哪些修改才能在浏览器中显示下载对话框?
最佳答案
看这里:
resp.setContentType("text/plain");
您说过内容是纯文本,但事实并非如此。您需要将 Content-Disposition
header 适当设置为附件,并将内容类型设置为 application/pdf
。
此外,如果您要提供二进制内容,您不应该也使用编写器(您正在使用编写器编写“Hello,world”
) .
如果您将前几行更改为:
resp.setContentType("application/pdf");
resp.setHeader("Content-Disposition", "attachment;filename=sample.pdf");
您可能会发现这就是所需要的全部。
关于java - blobStoreService.serve() 不提供下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11912759/
Serv-U 密匙冲突,Serv-U无法启动处于离线状态解决方法 大家也许会遇到,在服务器上安装SERV-U时会出现密匙冲突提示。就算汉化时钩选破解也没有用。去网上找,很多密匙要么快过期了,要么没
How can I properly simulate a cloud function locally so that it has all data as when being invoked o
我一直在使用 Angular2 进行 Web 开发,并且一直在使用 Angular2 和 Firebase 来运行本地服务器。在使用Ionic创建服务器时,我一直没能找到类似于键入quit的命令,因此
我正在尝试使用 --serve-path 在该路径下为我的整个应用程序提供服务。例如,我希望我的路径是 localhost:4200/foobar 我使用 ng serve --serve-path=
目前正在学习Jekyll,一个建站框架,不知道bundle exec jekyll serve和jekyll serve有什么区别。两者的行为似乎相同。 最佳答案 两个字: bundle exec j
很快,我在 ng serve 上有一个 4.6MB 的应用。 当我这样做时: ng serve --prod 我得到 1MB 的文件大小。 但是,--prod 以某种方式使我的整个应用程序中断。 我向
您好,我正在尝试构建我的 React 应用程序,所以我做了 yarn build它创建了必要的文件夹,现在我正在尝试做 serve -s build它告诉我下面的错误 ** 我尝试通过 npm uni
我用过 ionic serve并得到以下回复,我没有三思而后选择 localhost .但是现在我想使用选项 1。Ionic 记住了我的选择,例如 ionic serve从不允许我再选择并使用 loc
将图像(例如)保存在内存中而不是从静态 Assets 中提供它们是否值得? 频繁请求的静态资源会保留在内存中吗? 谁能告诉我性能影响? 最佳答案 除非您以每秒数千的速度为用户提供服务,否则我怀疑它会产
我的理解是,我应该能够从 Google 的 AI Hub 中获取 TensorFlow 模型,将其部署到 TensorFlow Serving 并使用它通过使用 curl 的 REST 请求发布图像来
我正在使用 Angular 7,我想知道是否 ng serve --prod 与相同 ng serve -c production 在文档中找不到,所以任何帮助将不胜感激 最佳答案 这里有一些文档:h
使用 struts.serve.static=true 和 struts,serve.static.browserCache=false 标记的浏览器缓存不起作用我有一个要求,即使用户注销并单击后退按
它曾经可以工作,但是当我重新启动我的电脑时,它就不再工作了。 nodejs目录设置在Path环境变量中。我尝试重新安装 nodejs。我还尝试卸载 @vue 文件夹,以管理员身份运行我的 git ba
互联网的应用已经波及了我们的方方面面,那么加快对于网络的学习也是必要的。所以今天我们来介绍一下Serv-U的FTP服务器的架构。本文将结合Serv-U这一功能强大,界面友好,易学易用的FTP服务器端
注意:上面是FTP服务器端建立FTP用户的教程,建立FTP用户我们需要通过FTP客户端连接服务器的FTP,从而使用FTP上传文件到服务器或下载
前言: 大家应该都还没有忘记三年前在Serv-U5.004版的之前所有版本的"Serv-U FTPMDTM命令缓冲区溢出"与"Serv-U FTP服务器LIST命令超长
比起IIS来,Serv-U的管理功能强大得多,而且设置也很方便。需要特别注意的是每进行任何一次设置或改动,都要点击界面左上角工具条的“保存”按钮才能生效。 1.账户管理 Serv-U对账户的管理
Serv-U FTP Server是一种被广泛运用的FTP服务器端软件,可以设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小等,功能非常完备.具有非常完备的安全特性,支持SSl FT
我是 Angular 的新手,我克隆了一个 repo (angular-slider)。我的问题是,当我输入控制台 grunt serve 时,它显示警告:找不到任务“服务”。使用 --force
我正在使用运行 Node v8.11.3 的 Gatsby v1.1.52。 当我跑 gatsby serve我收到一条消息,提示我有一个 UPDATE AVAILABLE: The latest v
我是一名优秀的程序员,十分优秀!