我在使用atk4文件存储文件上传时遇到问题。
我将atad4-addons中的fileadmin.php复制到我的页面目录中,并使用创建了四个表的filestore_001.sql脚本创建了表。
我已将以下数据添加到filestore_type表
以及以下的filestore_volume表
我在webroot中创建了一个名为upload的目录,并尝试使用不同的权限(包括777作为测试)来查看它是否是权限问题。
选择要上传的本地文件后,会显示上传消息,其中文本字段包含文件名,但完成后会显示错误,指示未加载模型数据。
我怀疑这是因为文件没有成功上传,但我找不到任何错误,表明除了firebug中的http响应之外出了什么问题,我得到以下内容
<html><head><script>window.top.$('#paperless_fileadmin_form_Upload_test').atk4_uploader('uploadFailed',"Data was not loaded for paperless_fileadmin_form_Upload_test_controller_filestore_file_model_filestore_file_model_filestore_volume_2");
</script></head></html>
http post显示所选文件,如果filetype不是filestore_filetype中定义的文件类型,则代码会显示警告,以便控制器的一部分正常工作。
有关使文件上传工作失踪的建议吗?
开启记录的输出如下
------------------------------------------------------------
Date: 29-Jun-2012 13:23:47
Query String: page=fileadmin&submit=paperless_fileadmin_form&paperless_fileadmin_form_Upload_test_upload_action=paperless_fileadmin_form_Upload_test
Referer: http://192.168.56.103/keep/paperless/?page=fileadmin
Version: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0.1
Port: 80
------------------------------------------------------------
Stack trace
/var/www/keep/paperless/atk4/lib/Form/Field/upload.php:98 Logger->logException(Object(Exception_InstanceNotLoaded))
: Form_Field_Upload->loadPOST()
/var/www/keep/paperless/atk4/lib/AbstractObject.php:303 call_user_func_array(Array(2), Array(0))
/var/www/keep/paperless/atk4/lib/AbstractObject.php:294 AbstractObject->downCall("loadPOST", Array(0))
/var/www/keep/paperless/atk4/lib/Form/Basic.php:333 AbstractObject->downCall("loadPOST")
: Form_Basic->submitted()
/var/www/keep/paperless/atk4/lib/AbstractObject.php:303 call_user_func_array(Array(2), Array(0))
/var/www/keep/paperless/atk4/lib/AbstractObject.php:294 AbstractObject->downCall("submitted", Array(0))
/var/www/keep/paperless/atk4/lib/AbstractObject.php:294 AbstractObject->downCall("submitted", Array(0))
/var/www/keep/paperless/atk4/lib/ApiWeb.php:196 AbstractObject->downCall("submitted")
/var/www/keep/paperless/index.php:15 ApiWeb->main()
,info.log的输出是
[29-Jun-2012 13:23:47] No data with id: 1 for: Model_Filestore_Volume but got no data. Query: select filestore_volume.id, filestore_volume.name, filestore_volume.dirname, filestore_volume.total_space, filestore_volume.stored_files_cnt, filestore_volume.enabled, filestore_volume.id from filestore_volume filestore_volume where (filestore_volume.id = '1')
这解决了这个问题。我添加了卷但随后将其删除并添加了另一个。这意味着我在表中没有ID = 1的文件存储卷,根据上面的屏幕截图,ID是3,所以我想这是filestore_volume上的自动增量或者文件存储插件如何查找卷的问题。