构建跨平台照片博客应用:从本地到云端的实现
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。
超级会员免费看
订阅专栏 解锁全文
1493

被折叠的 条评论
为什么被折叠?



