首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将在线生成的音频上传到google app engine blob store

问如何将在线生成的音频上传到google app engine blob store
EN

Stack Overflow用户
提问于 2013-10-15 13:52:14
回答 2查看 505关注 0票数 0

我正在创建一个在谷歌应用程序引擎上的java应用程序,其中用户可以记录他的语音和上传到服务器。我在谷歌应用程序引擎中实施它,并记录了音频和产生的网址,其中有blob:http://xxx.xx格式。现在我想把它上传到google app engine的blob store。

如何存储这个生成的音频文件。请帮帮我!!

EN

回答 2

Stack Overflow用户

发布于 2013-10-15 20:08:01

你可能想看看谷歌云存储,它将允许你直接提供上传的内容(可能使用你的自定义域名),而不是应用程序引擎(如亚马逊S3)。

您可以使用BlobstoreService中的createUploadUrl()方法,该方法允许用户直接将其文件上传到blobstore (之后将执行用户指定的“加载处理程序”回调),或者用户可以上传到您的App Engine应用程序,然后使用Google Cloud Storage Client Library将blob写入GCS。

使用云存储客户端库,您可以指定文件'path‘(它不是真正的路径)和访问控制规则。这些文件可以作为来自GCS的静态内容,如果这是你想要的。如果您想控制对上传文件的访问,您的App Engine应用程序可以使用相同的客户端库从GCS读取并将其返回给用户。

希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2013-10-16 02:29:39

这个问题很模糊,但我会试着回答它。涉及到许多概念和技术。这可以是jsp文件(表单是用jQuery UI创建的):

代码语言:javascript
复制
<div id="audio-upload-form">
<form action="<%= blobstoreService.createUploadUrl("/uploadAudio") %>" method="post" enctype="multipart/form-data">
    <fieldset>
        <input type="file" name="fileblob" id="fileblob" class="text ui-widget-content ui-corner-all" required />
    </fieldset>
    <button class="upload-video" type="submit">Upload</button>
</form>

​

这可以是后端控制器(用Java和Spring MVC实现):

代码语言:javascript
复制
@SuppressWarnings("deprecation")
    @RequestMapping(value = "/uploadAudio", method = RequestMethod.POST)
    public String uploadAudioServlet(HttpServletRequest req, HttpServletResponse resp) throws IOException, JSONException {

        Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req);
        BlobKey blobKey = blobs.get("fileblob");
    }

现在上载了blob并生成了blobKey。您可以使用此密钥创建可用于访问音频文件的URL。我想象的是一个可点击的音频文件列表,当你点击它们时,它们就会在浏览器中开始播放。一旦您提供更多详细信息,我将很乐意为您提供帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19374126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档