我在 Rails 5.2 中使用主动存储。我遵循 EdgeRails 指南,并已将 Active-Storage 配置为使用本地磁盘。
当我使用 Rails 应用程序时,文件上传效果很好。
但是,问题是我需要在不使用 Rails 作为中介的情况下物理访问这些上传的文件。
对文件存储位置的查询返回:
url_for(@employee_staff.avatar)
=> "/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBGUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e76664d247cb5437fe1cd11f7ee0ded24f95aee2/profilepic3.jpeg"
Run Code Online (Sandbox Code Playgroud)
我想弄清楚这个文件路径在我的本地磁盘中的保存位置。到目前为止,我没有运气。
非常感谢有关 Active-Storage 如何工作以及我可以在哪里看到上传文件的任何解释。
我正在尝试以我注册的应用程序登录,并授予以下权限:Azure 门户 > 应用程序注册 > 应用程序注册(预览)> 我的应用程序名称 - API 权限
根据此文档,APP ID URI在请求令牌时,我必须在范围参数中传递我的资源标识符 ( )。我确信这个范围参数是导致我出现问题的参数。
我尝试了范围的不同参数。
https://graph.microsoft.com/.default:这适用于基本功能,例如阅读日历,但我认为默认权限很少满足我的需求。既然这样有效,我相信我的其他参数是正确的,范围就是问题所在。
[APP-ID]/.default:这给了我一个成功的响应,但是,每当我尝试提出任何请求时,包括基本的读取日历请求,我都会收到InvalidAuthenticationToken. 我可以向您保证,我正在传递从令牌请求中检索到的正确令牌。
基于在线建议的多种不同 URL 组合。他们都回来了
“在租户 {id} 中找不到资源主体 {resource-url}。
我坚信问题在于我没有通过APP ID URI我的应用程序的正确性。谁能告诉我在哪里可以找到这个资源?我在网上搜索的所有内容都已使用 2 年以上,对于新的 Azure 门户似乎并不相同。