我正在设计一个允许用户上传 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 的文件。提前致谢。