【问题标题】:Loading file to database from java code从java代码加载文件到数据库
【发布时间】:2013-05-26 23:18:06
【问题描述】:
st4.executeUpdate("insert into model (category,subcategory,modelname,taxid,image,filename)
values ('"+forCat+"','"+sel+"','"+model+"','"+taxid+"',load_file('"+f.getAbsolutPath()+"'),'"+f.getName()+"')");

查询运行但文件未上传

也试过了

GRANT FILE ON *.* TO 'root'@'localhost';

这里的 f 是从文件选择器获取的文件对象。

查询在控制台上运行没有任何错误,但文件未上传且图像字段为空。

insert into model (category,subcategory,modelname,taxid,image,filename) values ('NEW','NEWSUB','CRAZY TEST2','5',load_file('D:\Users\sams\Desktop\image006.jpg'),'image006.jpg');

【问题讨论】:

  • 您收到任何错误吗?
  • 为了回答这个问题,信息太少了。 stackoverflow.com/questions/how-to-ask
  • 文件大小比max_allowed_packet大吗?
  • 尝试了 30kb、320kb 和 800kb 的文件大小不起作用.. TABLES 中的 VALUE 为 NULL,其他字段插入成功。
  • 我假设该文件与 mysql 托管在同一台服务器上...您确定路径正确吗?

标签: java mysql database file-upload


【解决方案1】:
insert into model 
   (category,subcategory,modelname,taxid,image,filename) 
values
  ('SSAS','SSAS SUB','CRAZY 10','5',load_file('D:\\Users\\sams\\Desktop\\image006.jpg'),'image006.jpg');

效果很好..

【讨论】:

  • 现在是高级人员的问题。为什么 \\ 或 / 有效,但不是 Windows 默认的单反斜杠...
  • 您需要 \\ 因为 MySQL 中的非标准(就 SQL 而言)字符串处理。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-12
  • 1970-01-01
  • 1970-01-01
  • 2014-05-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多