Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

6.0新版本下秒传无法实现,显示exists error #73

Open
datangkang123 opened this issue Oct 8, 2019 · 12 comments
Open

6.0新版本下秒传无法实现,显示exists error #73

datangkang123 opened this issue Oct 8, 2019 · 12 comments

Comments

@datangkang123
Copy link

redis和predis都已配置,但无法使用秒传,换了多款主流的浏览器,谷歌火狐360浏览器等,一上传就显示exists error,关闭秒传就正常,不知什么原因?上传页面确认引入了相关js文件。

配置:
` /*
|--------------------------------------------------------------------------
| 启用秒传功能
|--------------------------------------------------------------------------
|
| 【一般设置】需要安装redis服务和predis扩展包。
|
*/

'instant_completion' => true,

/*
|--------------------------------------------------------------------------
| 头文件储存方式
|--------------------------------------------------------------------------
|
| 【一般设置】头文件储存disk的配置名称,如果为"redis",需在config/filesystems.php中添加以下配置。
| 'disks' => [
| ...
| 'redis' => [
| 'driver' => 'redis',
| 'disable_asserts'=>true,
| ],
| ...
| ]
|
| 支持选项: 'local', 'redis'
|
*/

'header_storage_disk' => 'redis',`
@peinhu
Copy link
Owner

peinhu commented Oct 8, 2019

spark-md5.min.js现在不是可选而是必需,需要引入一下。

@datangkang123
Copy link
Author

已经引入了。
script src="https://blog.dzbfsj.com/vendor/aetherupload/js/spark-md5.min.js"></script>

安装自带的示例页面:https://blog.dzbfsj.com/aetherupload

@peinhu
Copy link
Owner

peinhu commented Oct 8, 2019

一般不会有这种问题,没人反映过。你建一个全新的laravel安装这个插件试试,只改instant_completion这一项,然后在示例页面中上传。

@peinhu
Copy link
Owner

peinhu commented Oct 8, 2019

你之前改过根目录吧?建议先什么都别改,全部用默认的,只打开秒传功能instant_completion这项,先排除其他地方出问题的可能性。

@peinhu
Copy link
Owner

peinhu commented Oct 8, 2019

我看了下代码很可能是redis相关配置不对,只有对redis操作报错的情况下,才会出现那个错误提示,你看下redis里面应该会有aetherupload_resource这个key,没有就是设置有问题。

@datangkang123
Copy link
Author

datangkang123 commented Oct 8, 2019

谢谢回复,我全新安装了一个laravel,仅安装了这个插件,还是报这个错误。不知是否不支持laravel6.0
http://ab.dzbfsj.com/aetherupload

@datangkang123
Copy link
Author

换了laravel5.8,上传正常,但6.0以上都是失败。

@datangkang123
Copy link
Author

通过比较安装,同服务器环境,只打开秒传功能instant_completion这项。 laravel5.8使用秒传是正常的,6.0则错误。

@peinhu
Copy link
Owner

peinhu commented Oct 8, 2019

好的感谢反馈,6.0还没适配,估计框架有些地方改动了导致不兼容,新版本刚出来不稳定,等我有时间看看。

@peinhu peinhu changed the title 秒传无法实现,显示exists error 6.0新版本下秒传无法实现,显示exists error Oct 8, 2019
@peinhu
Copy link
Owner

peinhu commented Oct 17, 2019

在其他地方看到了你的问题😂,补充一下,上传后的文件访问,只需要通过请求特定路由便可获取,相关路由本扩展已经写好了,无需通过storage:link放到public目录下或自己实现路由,详见示例文件点击提交后显示的内容。

获取/展示:
www.your-host-name.com/aetherupload/display/file_201910_889cc0e3663efb2a46dd8564323740d7.mp4
下载:
www.your-host-name.com/aetherupload/download/file_201910_889cc0e3663efb2a46dd8564323740d7.mp4

不放到public目录下的好处是,可以控制文件访问权限,比如可以实现只有管理员才能查看。放到public下后文件就是公开的,任何人可以访问,无法控制权限。

@sky-up
Copy link

sky-up commented Jan 31, 2020

我查看了返回exists error是因为在laravel6中Redis::hexists()方法是会返回true或者false,但是插件中是使用1或0去判断,所以进入了异常,没有测试在低于laravel6中,是否该方法返回1或0.

@ahu
Copy link

ahu commented Oct 20, 2023

我查看了返回exists error是因为在laravel6中Redis::hexists()方法是会返回true或者false,但是插件中是使用1或0去判断,所以进入了异常,没有测试在低于laravel6中,是否该方法返回1或0.

我凑巧用的是 Laravel 6.x,然后也碰到了这个问题。然后修改RedisClient.php和RedisSavedPath.php后,可以了!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants