-
Notifications
You must be signed in to change notification settings - Fork 51
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
Failed to upload file to serve webdav in rcloneExplorer #199
Comments
I'll have a look where the problem lies. I'll try running |
@kaczmarkiewiczp Thanks for you reply. |
I compiled rclone using Termux. Then I run I also tried uploading using Solid Explorer and had better luck. While most files uploaded successfully, I would get an occasional error: "Solid Explorer attempted to perform an invalid operation" but it was very rare. Did all your uploads fail when trying Solid Explorer or ES Explorer? This means that the problems you're experiencing are rclone related and have nothing to do with rcloneExplorer. |
@kaczmarkiewiczp Then run rclone serve webdav on termux, and the remote is sharepoint. uploading file using ES Explorer and Solid Explorer, or syncing directory using FolderSync, all are work fine. Then closed termux and run serve webdav (remote is sharepoint) on rcloneExplorer(v1.6.0-20). uploading file using ES Explorer and Solid Explorer are work fine. But syncing directory using FolderSync failed. FolderSync reported error: "Method Not Allowed" for second file, and the first file is sync success. This is very strange, I am not sure what the problem is. |
@kaczmarkiewiczp update for new testing. I not compiled rclone using Termux, just copy rclone v1.42-066-g1f3778db arm64 to /data/data/com.termux/ on android. Then run rclone serve webdav on termux, or on windows/linux, and the remote is sharepoint. uploading single or multiple files using ES Explorer and Solid Explorer, or syncing directory(single or multiple files) using FolderSync, all are work fine. Then run serve webdav (remote is sharepoint) on rcloneExplorer(v1.6.0-20). uploading single file using ES Explorer and Solid Explorer, or syncing directory(contain only single file) using FolderSync, all are work fine. But if uploading multiple files using ES Explorer and Solid Explorer, it's failed, or syncing directory(contain multiple files) using FolderSync, it's also failed, folderSync reported error: "Method Not Allowed" for second file, and the first file is sync success. So the question seems to be why “rcloneExplore serve webdav” doesn't support handling multiple files uploading? |
Thanks for investigating. This is really strange. RcloneExplorer just executes What's also strange is that you say that you run rclone v1.42-066-g1f3778db downloaded from rclone.org (as opposed to compiled from source on Android). Whenever I try to run rclone that's compiled for Linux/ARM64, none of the commands that require internet connection (i.e. ls, copy, or serve) work. I created a special APK that contains rclone v1.42-066-g1f3778db (you can confirm rclone version in rcloneExplorer by clicking on About in navigation drawer). Would you mind installing it, and letting me know if |
@kaczmarkiewiczp Thanks. It's seem very strange, I have no idea about this. By the way: |
@kaczmarkiewiczp But it's still failed when remote is sharepoint(webdav) or JianGuoYun which is a cloud storage supported webdav. Even if used sharepoint or JianGuoYun as a remote, ES Explorer, Solid Explorer and FolderSync are work fine when running rclone serve webdav on termux, windows or linux. |
@kaczmarkiewiczp I think the different between S3(S3 API compatible) and sharepoint(JianGuoYun) is the When using S3:
For big file:
When using sharepoint(JianGuoYun) webdav:
For big file:
I guess if rclone in rcloneExplorer supported to creating temporary local FS to spool file? |
@kaczmarkiewiczp So this issue seems to be related to the file size which cause a different upload method for sharepoint(JianGuoYun) webdav remote. I have not noticed this file size problem before, so the previous test results may be weird and wrong. |
That could explain the bug you're experiencing. If rclone needs to create temporary files, it probably tries to create those in places it doesn't have access to on Android (that was the case with the cache remote). I tried to find a flag in rclone that would allow specifying where those temporary files are to be stored and found this:
I created a release that uses that flag in order to store temporary files in rcloneExplorer's cache directory. I also added logging to the serve webdav function. Can you enable logging in settings (under Miscellaneous > Use Logs). Run RcloneExplorer-serve-webdav-bug-alpha2.apk |
@kaczmarkiewiczp It seems to prove that my guess is correct. The key log is:
The detail log is: log.txt |
Sorry for the late response, I was away for a few days. And thanks for testing. So the error is caused by rclone when it tries to create temporary files in a directory it has no access to on Android. Since I'm not aware of any way to tell rclone to use a custom temporary path, I'll have to ask on the rclone forum page. I'll keep you updated. |
@xiaolei0125 RcloneExplorer.apk |
@kaczmarkiewiczp Thank you for fix it. I have test for the newest release (v1.7.1) arm64 apk, using ES Explorer or FolderSync, upload small or big file(>5M) to JianGuoYun(webdav server), all are work fine. |
Thanks for testing. I merged the fix into the master branch. It's available in the latest beta release and will be available in the future stable releases. |
Run serve webdav in rcloneExplorer(1.6.0-013-47533d4-β), then use an android webdav client, such as ES Explorer, Solid Explorer or FolderSync to connected serve webdav in rcloneExplorer.
Browsing or download files from webdav client is work fine, but it's failed to upload file via this webdav
client, and some app reported error : "Method Not Allowed".
But if run rclone serve webdav in Linux/Windows shell, this android webdav client can work fine and upload file success.
So I think this is maybe a rcloneExplorer issue. @kaczmarkiewiczp can you help to fix it?
The text was updated successfully, but these errors were encountered: