Java mysql数据库中的pdf、doc、xls文件上传

Java mysql数据库中的pdf、doc、xls文件上传,java,mysql,jpa,spring-mvc,Java,Mysql,Jpa,Spring Mvc,如何使用java、JPA和Spring将所有文档文件(如PDF、DOCX、XLS)上载到mysql数据库 提前感谢您不能将文件存储在数据库中,但可以将其位置存储在表中。我确实遇到过类似的情况,但对您的要求做了一些小的修改 DB-Oracle11g(代替mySql) IDE-JDeveloper11(负责Java,Swigs-MVC) 如果你对这个修改很酷,请看一下我是如何开发这个的 流程:UI(传递文件)--->(通过IDE处理)--->DB(保存的数据) 创建数据库架构:(2列) 信息-

如何使用java、JPA和Spring将所有文档文件(如PDF、DOCX、XLS)上载到mysql数据库
提前感谢

您不能将文件存储在数据库中,但可以将其位置存储在表中。

我确实遇到过类似的情况,但对您的要求做了一些小的修改

  • DB-Oracle11g(代替mySql)
  • IDE-JDeveloper11(负责Java,Swigs-MVC)
如果你对这个修改很酷,请看一下我是如何开发这个的

流程:UI(传递文件)--->(通过IDE处理)--->DB(保存的数据)

创建数据库架构:(2列)

  • 信息-Varchar 2(数据类型)
  • 媒体团块
现在DB已经完成了,进入IDE并创建一个.jspx页面(没有支持Bean!),从组件调色板拖放InputFile组件。创建一个托管bean,并编写以下代码以从UI接收该文件作为参数&进一步处理

代码:-

public class Upload()
{     
   private UploadedFile _file;

   public void setFile(UploadedFile _file) {
       this._file = _file;
   }

   public UploadedFile getFile() {
       return _file;
   }

   public String UploadMedia(){

       UploadedFile myFile = (UploadedFile)this.getFile();

       System.out.println("****************************************************");

       BindingContext bc = BindingContext.getCurrent();
       BindingContainer bindings = bc.getCurrentBindingsEntry();
       DCBindingContainer dbc = (DCBindingContainer)bindings;
       DCIteratorBinding iter = dbc.findIteratorBinding("MediadbVO1Iterator");

       Row row = iter.getCurrentRow();
       row.setAttribute("Media", createBlobDomain(myFile));
       return null;
   }

   private BlobDomain createBlobDomain(UploadedFile file) {
       InputStream in = null;
       BlobDomain blobDomain = null;
       OutputStream out = null;

       try {
           in = file.getInputStream();

           blobDomain = new BlobDomain();
           out = blobDomain.getBinaryOutputStream();
           byte[] buffer = new byte[8192];
           int bytesRead = 0;

           while ((bytesRead = in.read(buffer, 0, 8192)) != -1) {
               out.write(buffer, 0, bytesRead);
           }

           in.close();

       } catch (IOException e) {
           e.printStackTrace();
       } catch (SQLException e) {
           e.fillInStackTrace();
       }

       return blobDomain;

   }
}
将InputFile组件的“值”字段设置为“
{backing\u Upload.file}
” 其中,backing_Upload是我的bean名称,文件为Paramater

现在拖放一个命令按钮并将其操作字段设置为“
{backing\u Upload.UploadMedia}
” 其中backing_Upload是我的bean名称,UploadMedia是我的方法


希望您通过选择文件并单击按钮实现所需,文件将存储到DB。

如何使用java搜索
上传文件
您可以将文件作为BLOB存储在数据库中。但我同意您应该将文件路径存储在数据库中,并将文件本身存储在fs中。@Nicolas:谢谢您的重播,但我知道BLOB类型,但您有任何代码或示例,请告诉我,文件的数据将以何种格式表示字节、字符串或其他任何内容,提前感谢感谢您的代码,并让我尝试实现,再次感谢