【发布时间】:2013-02-24 13:11:56
【问题描述】:
我正在设计一个允许用户上传 PDF 文件的 GAE 应用程序,我会将其保存到 GAE Blobstore。
我需要能够在这些 blobstored 文件中“删除 n' 交换”文本块。也就是说,我需要能够从文件(存储在 Blobstore 中)中挑选出特定的句子,并将其替换为不同的文本。
假设我有一个PDF文件,我知道从文件中的第505个字节/字符开始,有一句话:
树林很可爱,又黑又深。
我想用以下内容替换(drop n' swap)那句话:
但我有承诺要遵守。
然后我知道我想用我的新字符串替换字节 505 到 541(树林很可爱,又黑又深。)。
所以我问:这可能吗?我看到 Blobstore API 允许您从存储的 blob 中读取特定的字符段:
// Now contains: "The woods are lovely, dark and deep."
String toDropNSwap = blobStoreService.fetchData(blobKey, 505, 541);
toDropNSwap = "But I have promises to keep.";
// This doesn't exist, just an example:
blobstoreService.dropAndSwap(505, 541, toDropNSwap);
但我不知道如何用另一段字节替换一段字节,特别是如果新段的大小不同。还有一件事:我将处理最大为 20MB 的文件。提前致谢。
【问题讨论】:
标签: java google-app-engine pdf file-io blobstore