0

我写了一个 servlet,它成功上传了 blob,但上传时没有名字 如何在 servlet 中设置上传文件的名称

这是一段servlet代码

public void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws IOException {



         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();
4

2 回答 2

0

将文件名作为第二个参数传递给fileService.createNewBlobFile("application/pdf", "filename.pdf").

于 2012-08-11T10:22:11.050 回答
0

您可以从您的 URL 获取文件名

String fileNameWithoutExtn = url.substring(0, url.lastIndexOf('.'));

然后将fileName作为参数传递

FileWriteChannel writeChannel = fileService.openWriteChannel(file, lock,fileNameWithoutExtn );
于 2012-08-11T10:37:52.863 回答