如何使用SignedUrl上传到Google Cloud Bucket
我正在开发一个Angular应用程序,以显示Google Cloud Storage Bucket的内容.对于背面,我在nodejs 中使用了Google Cloud功能 正如他们在文档中提到的上传文件时所述,我创建了一个函数来生成签名的URL,但是当我使用签名URL发送文件时,我在浏览器中遇到了CORS错误 我与Postman进行了测试,它上传了一个空文件 这是我的lambda函数: // Imports the Google Cloud client library const {Storage} = require('@google-cloud/storage'); // Creates a client const storage = new Storage(); exports.generateSignedUrl = (req, res) => { // generate signed url to use for file upload const
0 2024-02-21
编程技术问答社区
使用负载平衡器和CDN在谷歌云存储上部署SPA应用程序
我正在研究一种使用GCS,LOAD BALANCER和CDN. 我已经使用 urlrewrite 设置了LB和GC,但是由于LB不允许完整的URL重写仅唯一,我无法将所有请求重定向到/index.html 我想实现与firebase托管相同的功能,您可以在其中指定重写规则 "rewrites": [ { "source": "**", "destination": "/index.html" } ] 另一个选项是将404页设置为index.html,但这将导致服务器返回404 status code我不喜欢的服务器. 加载平衡器是否可以使用,因为它们不支持完整的重写? 解决方案 Google在2020年添加了重写引擎(请参阅 https://serverfault.com/questions/927143/how-to-to-manage-manage-url-url-rewrites-wit
安卓GoogleCredential调试与发布
我正在尝试阅读我的GCS桶,但看到了一种有趣的行为.通过Android Studio(作为调试变体)运行我的应用程序时,我可以下载对象.当我创建一个签名的APK(或作为发行版本运行)时,我将不再下载对象并收到404错误. 这是我的授权方法: GoogleCredential googleCredential = null; JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance(); HttpTransport httpTransport = AndroidHttp.newCompatibleTransport(); /** Authorizes the installed application to access user's protected data. */ public GoogleCredential authorize() throws Exception { String p12Pa
0 2024-02-18
编程技术问答社区
使用谷歌云存储来托管maven仓库
我在Android Studio 1.1上使用Gradle,我可以使用" Maven-Publish"插件.有了这个,我可以发布到存储库. 我可以使用Google Cloud Storage托管Maven存储库吗? 或我必须创建一个bitbucket/github才能做到这一点? 谢谢 解决方案 您只有在您不需要需要将这些工件和依赖项每秒更新多次更新时,才可以将Google Cloud存储存储桶充当远程Maven存储库来托管您的工件和依赖项.虽然您可以在Google Cloud储物桶中创建的对象数量没有限制,并且在多个对象上没有限制,但每个对象的更新限制每秒都有一次.如此快速写入一个对象不会扩展. 话虽如此,您可以配置一个Google Cloud Storage Bucce网站并将其用作远程存储库. 默认情况下,Maven将从中央存储库中下载.要覆盖这一点,您需要在pom.xml中指定gcs桶,如要将您的工件上传到您的存储桶中,必须在〜/.m2/se
0 2024-02-18
编程技术问答社区
我如何配置谷歌云存储?
我必须使用Google Cloud Storage,但是要配置它,我必须启用计费. 有人知道我如何避免启用计费吗??? 我可以将Google Cloud与Enable Billing使用? 解决方案 自GAE 1.9.0以来.您可以使用免费的CloudStorage配额使用默认存储桶. 我使用Python.请参阅 This Gist 提供有关默认存储桶和免费配额的更多信息. 其他解决方案 Google Cloud Storage的成本是金钱,所以不,没有魔术方法可以免费获得.
0 2024-02-11
编程技术问答社区
Google Cloud TextToSpeech : java.io.IOException: 应用程序默认凭证不可用
我试图从 Google Cloud TextTospeech 服务运行TextTospeech代码. curly以身份验证部分参考链接 以下是代码: public class TexttoSpeech { /** Demonstrates using the Text-to-Speech API. */ public static void getAudio() throws Exception { // Instantiates a client // Below Line is Point of Error in Code try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create()) { // Set the text input to be synthesized SynthesisInput input = SynthesisIn
从安卓/iOS向谷歌云端点发送图像/视频
我真的需要您的帮助/建议/线索/等.我正在开发Android和iOS的应用程序,该应用程序将允许用户上传图片和视频. 我要做的事情: 1- android/ios将图片/视频发送到我的Google Cloud Endpoint; 2- Google Cloud Endpoint将图像/视频上传到Google Cloud Storage; (作品) 3- Google Cloud Endpoint从Google Cloud Storage中检索Servingurl,然后发送回Android/ios; (作品) 4- Android/iOS由其URL流式图片/视频. (作品) 因此,问题只是第一步,将图像/视频发送到Google Cloud Endpoint. 我正在阅读很多,搜索,研究,但没有弄清楚如何做. 请,任何建议都会很感激.我对实施此功能的方式有新的想法.谢谢你们! . - - - - - - - - - - - - -
当我试图实例化GCS服务时,出现java.lang.NoClassDefFoundError错误。
我是Java/Android开发的新手.我选择的IDE是Android Studio.本质上,我需要将图像/视频剪辑和音频剪辑上传到GCS.我正在实例化此服务 "最终的GCSService gcsservice => gcsservicefactory.creategcsservice(retryparams.getDefaultInstance());'';'' 运行应用程序时,我会收到以下错误 java.lang.noclassdeffounderror:com.google.appengine.api.utils.systemproperty at> com.google.appengine.tools.cloudstorage.gcsservicefactory.createrawgcsservice(gcssservicefact> ory.java:40) at> com.google.appengine.tools.cloudstorage.gcsservicef
4 2024-02-09
编程技术问答社区
从Firebase存储中获取图像,并在应用中显示该图像以供下载
我试图从Firebase存储(Firebase Firestore中的URL)中获取图像,并在我的应用中显示它. 我的代码(不起作用): import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/material.dart'; import 'package:pap_test/upload/upload_resumos_screen.dart'; class DownloadScreen extends StatefulWidget { const DownloadScreen({Key? key}) : super(key: key); static const routeName = '/downlaod-resumos'; @override State createState() => _DownloadScreenS
8 2024-02-09
编程技术问答社区
文件上传了,但没有显示在Firebase实时数据库中--Android Studio
在我的Android应用中上传PDF文件时,它已上传到Firebase存储中,但在实时数据库中未显示文件名和URL. private void uploadPDFFile(Uri data) { final ProgressDialog progressDialog = new ProgressDialog(this); progressDialog.setTitle("Uploading..."); progressDialog.show(); StorageReference reference = storageReference.child("uploads/"+System.currentTimeMillis()+".pdf"); reference.putFile(data) .addOnSuccessListener(new OnSuccessListener
Firebase Firestore和云存储:同时删除一个DB条目和它的相关文件会导致一个被实际删除,另一个没有被删除。
是否可以确保我的Android应用程序要删除Firestore DB文档和存储在Cloud Storage中的关联文件(由DB文档的ID标识),那么实际上两个都将被删除? 的确,我们可以想象,在与数据库文档删除相关的承诺情况下,文件的删除可能会失败:在此上下文中,DB条目确实会被删除,但不是关联的文件.导致Android项目的状态不一致... 我该怎么做? 解决方案 是否可以确保我的Android应用程序要删除Firestore DB文档和存储在Cloud Storage中的关联文件(由DB文档的ID标识),那么实际上两个都将被删除? 如果您认为可以将Firestore删除操作和Firebase存储删除操作添加到批处理操作中,并确保这两者都在同一操作中发生,请注意,这是不可能的.这些操作是不同的燃料服务,您无法使它们成为原子. 不幸的是,没有任何燃料产品支持跨产品交易行动.要解决此问题,您必须在删除操作期间嵌套呼叫,这意味着,如果您从Firestore删除记录
谷歌云存储下载的IOS/Android应用
是否可以将单个大文件作为多线程下载并结合了一旦从Google Cloud Storage下载. 解决方案 是.从Google Cloud Storage下载对象时,您可以指定要检索的字节范围.使用XML API,将通过"范围:"标头处理.这对于恢复中断下载很有用,但也可以用于使用多个线程下载文件. 这是一些有关如何格式化范围参数的文档. 这是GET对象调用的文档,包括范围标头: https://develovelers.google.com/storage/storage/docs/docs/reference/reference/reference-methods#getobject 其他解决方案 您可以使用Android的下载曼纳代理类,最适合下载具有较大尺寸的文件 请参阅下面的链接 http://developer.android.com/reference.com/reference.com/reference/reference/reference/an
0 2024-02-07
编程技术问答社区
从安卓系统访问云存储
我一直找不到有关如何使用Android应用程序使用云存储的任何具体文档. 我确实遇到了我按照上述链接中的建议添加了以下代码: build.gradle : compile group: 'com.google.cloud', name: 'google-cloud-storage', version: '0.9.3-beta' 我添加了一些简单的代码,尽管这与这个问题并不相关,因为我还可以使用上述依赖项运行我的应用程序: 在活动中: Storage storage = StorageOptions.getDefaultInstance().getService(); Page buckets = storage.list(); Iterator bucketIterator = buckets.iterateAll(); while (bucketIterator.hasNext()) { Bucket bucke
谷歌应用引擎的样本安卓应用,抛出异常情况
我的GAE样本Android应用程序一直在运行直到昨天! 我没有对客户端应用进行任何更改,除了consts.java添加了我的项目ID. 现在,每次我尝试插入(我的意思是发送消息)以下例外是投掷 06-06 09:42:59.905: I/CloudBackend(1905): error: 06-06 09:42:59.905: I/CloudBackend(1905): com.google.api.client.googleapis.json.GoogleJsonResponseException: 404 Not Found 06-06 09:42:59.905: I/CloudBackend(1905): Not Found 06-06 09:42:59.905: I/CloudBackend(1905): at com.google.api.client.googleapis.services.json.AbstractGoogleJsonCli
2 2024-02-06
编程技术问答社区
在Android上使用JetS3t时抛出了不兼容的ClassChangeError异常。
我正在研究Android应用程序,该应用程序将把一些文件上传到 Google Cloud Storage .为此,我正在使用 jets3t Java工具包0.9 .我试图在标准Java项目上使用它,并且工作正常,但是当我想在 Android 项目上使用它时,我会得到一个例外. 实例化JETS3T Google Storage Service时,我有问题,例如: GoogleStorageService gsService = new GoogleStorageService(gsCredentials); 执行此行时我会得到的例外是: FATAL EXCEPTION: main java.lang.IncompatibleClassChangeError: org.apache.http.params.SyncBasicHttpParams at org.jets3t.service.utils.RestUtils.createDefaultHttpPara
0 2024-02-06
编程技术问答社区
.key.p12:打开失败。ENOENT (没有这样的文件或目录)
在我的Android应用程序中,我正在访问Google Cloud Storage.我已经生成了私钥 xxxxxxxkey.p12 .我把我的密钥文件放入了资产文件夹中.但是在运行项目时,它不会打开键.p12文件.我尝试将其放在资产文件夹之外,但仍然没有结果. httpTransport = AndroidHttp.newCompatibleTransport(); AssetManager am = getAssets(); InputStream inputStream = am.open("xxxxxxxxxxKey.p12"); File file = createFileFromInputStream(inputStream); GoogleCredential credential = new GoogleCredential.Builder()
2 2024-02-04
编程技术问答社区
HttpURLConnection PUT to Google Cloud Storage给出错误403
我尝试使用XML API将文件上传到Google Cloud Storage.我有适合每个上传的GoogleAccessID,有效期和签名.奇怪的是,我可以使用Postman(Chrome应用程序)放置文件,因此我确定URL可以.我只是无法使用我的Android Java程序将其放置(它返回给我403错误).执行上传的源代码在此处(基于此: URL url; HttpURLConnection connection; try { url = new URL("http://google-testbucket.storage.googleapis.com/testdata.txt?GoogleAccessId=1234567890123@developer.gserviceaccount.com&Expires=1331155464&Signature=BClz9e4UA2MRRDX62TPd8sNpUCxVsqUDG3YGPWvPcwN%2BmWBPqwgUYcOSszCPlgWREeF
0 2024-02-03
编程技术问答社区
在谷歌云中保存安卓应用数据
是否可以将Android应用程序数据保存在Google Cloud中,并在使用应用程序时与应用程序同步?例如,我希望Google Cloud Storage像我的应用程序一样表现得像服务器. 我想在Google Cloud Storage中创建一个文件夹,并在此处存储所有相关的数据.我已经阅读了云存储文档并创建了API键.请告知是否可以做到这一点. 解决方案 您可以使用 一个工具,多个客户 从一个来源构建为Android,iOS和基于Web的客户端构建客户库.云端点包裹您的代码以构建 api Server .云端点API库可在Java和Python中找到.在我们的 扩展应用程序引擎基础架构 现在,您的移动设备都可以使用App Engine中提供的所有工具和库.使用您的应用引擎后端访问数据存储,云存储和任务队列,没有额外的工作.通过关注我们的示例. ,快速整合OAuth 2.0身份验证 如果您正在构建Android游戏,也可以使用保存游戏功能来自 Googl
4 2024-02-02
编程技术问答社区
如何从登录用户的收藏集中获取文档值,以进入使用Firestore?
我希望能够在登录用户时访问图像收集并获取文档的所有值.当用户登录时,我想获得与我的用户ID相关的所有图像URL和其他字段. fStore.collection("images").document(FirebaseAuth.getInstance().getCurrentUser().getUid()).get().addOnCompleteListener(new OnCompleteListener() { @Override public void onComplete(@NonNull Task task) { if(task.isSuccessful()){ for(int i = 0; i
8 2024-02-01
编程技术问答社区
来自谷歌云存储的视频流
我们将如何从Google Cloud存储中获取视频并将该视频流式传输到移动设备? 我看不到与Java API中的视频有关的任何内容,就像可以使用ImagesServiceFactory 获得图像 如果有任何区别,视频最多只能长10-15秒. 关于如何在此处进行的任何建议都很棒 解决方案 在流式传输视频和从云存储中下载任何其他文件之间没有区别.因此,没有特殊的视频api. 如果文件不是公共的,则需要一个servlet,该servlet将从云存储中读取视频的内容并将其流式传输到客户端.请注意,由于不支持文件流,并且请求大小限制为32MB. 您最好的选择是在计算引擎实例上运行此操作: 计算引擎和云存储之间的带宽是免费的. 身份验证很简单. 另外,您可以为视频文件使用签名的URL.这使您免于仅出于流目的而开发/部署单独的计算引擎实例 - 您现有的后端可以返回签名的URL.