开发者社区> 问答> 正文

如何保存上传的东西(二进制)到mysql数据库

后台anction,如何把二进制保存到数据库中啊 求大神
screenshot

展开
收起
小旋风柴进 2016-03-10 16:49:46 2513 0
1 条回答
写回答
取消 提交回答
  • 有点奇葩啊。。。一般的做法,都是把文件存在文件系统上,然后记录位置,然后下载的时候再拿位置调取来文件写到response里面去的。

    比如一个文档,用户填写了主题表单,然后有上传一个附件。

    那么在文档表中,就建立一个字符串列filepath,用于保存文件在系统里保存的位置:

    /file/2014/10/15/abc.zip

    然后把这个文件存到这个位置去。以后下载的时候,专门写一个下载的action只接收文档ID,然后根据文档id去找到filepath,然后在用filepath构建file,然后把file写入response。就完事了。

    当然,如果你很多业务对象,都要有附件,那么就适合建立一个单独的附件表affix,然后在文档这个例子里,把filepath改成 affixId,然后保存文档的时候,保存一条affix记录到affix表中。affix表中当然最少有path和id列拉。然后把id保存到文档上面来。

    至于下载本站所有文件,只要写一个action,提供接收affix的id去下载就OK了。

    2019-07-17 18:57:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载