28、构建跨平台照片博客应用:从本地到云端的实现

构建跨平台照片博客应用:从本地到云端的实现

1. 数据上传与存储基础

在处理数据上传时,当所有数据上传完成后,需要将最后的剩余数据进行转换,并通过 JSON 格式向应用返回响应。以下是相关代码示例:

req.on('end', function() {
    if( 0 < remain.length ) {
        w.write(new Buffer(remain,'base64'))
    }
    w.end()
    util.debug('upload end')
    res.writeHead(200, "OK", {'Content-Type': 'application/json'});
    res.end('{"ok":true}')
});

你可以通过手机应用拍摄不同的照片来测试这个服务器,同时关注调试输出,了解数据块转换大小的工作原理。

2. 图片存储策略转变:从本地磁盘到 Amazon S3

之前的示例将上传的图片直接存储到服务器磁盘,但这种方式对于构建可扩展的服务并非良策。单个磁盘不可靠且容易快速填满。为了满足大量用户的需求,需要使用 Amazon S3 来存储图片。代码的工作方式与之前将数据保存到磁盘的示例类似,从应用获取数据块流,将其转换为二进制,然后发送到 Amazon S3。不过,Amazon S3 需要提前知道文件的二进制大小,而由于数据是以块的形式获取的,在转换完所有数据之前并不知道最终大小。但实际上可以提前计算二进制大小,然后直接流式传输到 Amazon。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值