关于OneThink后台附件上传无法保存文件id或无法上传问题

来源:互联网 发布:淘宝店铺首页怎么装修 编辑:程序博客网 时间:2024/05/21 16:54

关于OneThink后台附件上传无法保存文件id或无法上传问题

在使用OneThink进行项目开发的时候,遇到使用内置的上传附件功能时,无法保存相应的file_id,导致上传文件成功,但是数据库中对应字段没有保存到对应的文件id。针对这个问题,我们需要进行以下几个地方的修改即可。

1、修改 /Application/Admin/Controller/FileController.class.php  ,在第33行添加 :

$return[‘id’] = $info[‘download’][‘id’];//修改附件无法保存id的问题

777

2、修改后台对应要用到附件上传的模板文件,例如 Application/Admin/View/Article/add.html 和 Application/Admin/View/Article/edit.html

add.html文件修改

文件 141行注释掉,然后修改为:

<input type=”hidden” name=”{$field.name}” value=”{$data[$field[‘id’]]}”/>

add1

 

继续往下找,找到 js里面的 function uploadFile() 里面的

$(“input[name=”+name+”]”).val(data.data); 这句代码注释,更改为

$(“input[name=”+name+”]”).val(data.id);

如图:

add2

 

edit.html同样的修改。

经过这三个文件的修改就可以上传附件的时候保存到file_id啦!

 

遇到提示 “没有上传的文件”或无法上传文件 问题处理:

在上传大文件的时候,往往会遇到提示 “没有上传的文件”,这是环境的设置问题,这时候需要修改php的配置文件。

  • 首先查看项目的配置文件,看看有没有做了限制,onethink一般都做了上传大小的限制。打开 /Application/Admin/Conf/config.php 看有没有做限制或者限制的大小是否在允许范围。
  • 查看配置文件,看文件格式是否允许。
  • 经过以上两步排查之后还是无法上传的话,就要检查是不是php环境配置是否支持。打开ini文件,具体文件位置在你php程序安装目录下。修改:

post_max_size = 200M (注:数值大小自己定,这是表单提交允许的最大值)

file_uploads = On (注:这是文件上传开关,关闭后就无法上传文件)

upload_tmp_dir =c:/temp (注:这是临时上传文件目录,必须保证该目录具有读写权限)

upload_max_filesize = 200M (注:这是允许上传的最大文件大小,文件过大无法上传,一般是这个值设置过小导致)

如果上传时间过长也可能导致上传失败,你可以适当设置:max_execution_time = 60


0 0
原创粉丝点击