0

我在使用 atk4 文件存储文件上传时遇到问题。

我将 atk4-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 帖子显示选择的文件,如果文件类型不是在 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 的自动增量或文件存储插件如何查找卷的问题。

4

0 回答 0