我有很多记录,其中文本存储在MySQL的blob中.为了便于处理,我想将数据库中的格式更改为TEXT ...任何想法如何轻松地进行更改以便不中断数据 - 我想它需要正确编码?
我允许用户通过拖放和其他方法将图像加载到页面中.删除图像时,我正在使用URL.createObjectURL转换为对象URL来显示图像.我没有撤销网址,因为我重复使用它.
所以,当谈到时间来创建一个FormData对象,所以我可以让他们上传的形式,在它的形象之一,是有一些方法,然后我可以扭转这一目标URL回一个Blob或File因此我可以将其添加到FormData宾语?
好的,假设我将文档数据存储在某个地方,让我们任意选择这个pdf.
问题#1.我想要做的是对这个URL进行AJAX调用(因为我需要传递一些身份验证标头,它是跨域的).然后获取返回的数据,为它创建一个blob url,将一个iFrame附加到DOM,并将其src指向blob url.
目前我的代码如下所示:
$.ajax({
url:'http://www.grida.no/climate/ipcc_tar/wg1/pdf/tar-01.pdf'
}).done(function(data){
var file = new Blob([data], {type:'application/pdf'}),
url = URL.createObjectURL(file),
_iFrame = document.createElement('iframe');
_iFrame.setAttribute('src', url);
_iFrame.setAttribute('style', 'visibility:hidden;');
$('#someDiv').append(_iFrame);
});
Run Code Online (Sandbox Code Playgroud)
不幸的是,我在iFrame中遇到了"无法渲染PDF"的问题.
问题#2.我希望这会导致文件下载提示.鉴于PDF自然只会在iFrame中显示,因此不确定如何保证这一点.
我在检测圆形区域时遇到问题.我尝试使用opencv中的HoughCircles函数.然而,即使图像非常相似,功能的参数也必须不同以便检测圆圈.
我尝试的另一种方法是迭代每个像素并检查当前像素是否为白色.如果是这种情况,则检查区域中是否存在blob对象(距blob中心的距离小于阈值).如果有,请将像素附加到blob,如果没有,则创建一个新blob.这也无法正常工作.
有谁知道如何使这项工作(90%检测)?我附上了一个示例图像和另一个我标记了圆圈的图像.谢谢!
更新: 感谢您的帮助到目前为止!这是我获取轮廓并按区域过滤它们的代码:
im = cv2.imread('extract_blue.jpg')
imgray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
im_gauss = cv2.GaussianBlur(imgray, (5, 5), 0)
ret, thresh = cv2.threshold(im_gauss, 127, 255, 0)
# get contours
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
contours_area = []
# calculate area and filter into new array
for con in contours:
area = cv2.contourArea(con)
if 1000 < area < 10000:
contours_area.append(con)
Run Code Online (Sandbox Code Playgroud)
这是我通过圆度过滤的部分,它直接在我按区域过滤的代码下面:
contours_cirles = []
# check if contour is of circular shape
for con in contours_area:
perimeter = cv2.arcLength(con, True) …Run Code Online (Sandbox Code Playgroud) 如果我有一个类声明为:
public class MyPersistentClass
{
public int ID { get; set; }
public Stream MyData {get;set; }
}
Run Code Online (Sandbox Code Playgroud)
如何使用NHibernate的映射将MyData属性保存到数据库和从数据库中保存?
我在我的应用程序中将对象序列化为blobstore,并在它们发生更改时删除并重新创建它们.我知道这不是最好的方法,但我发现这是快速原型制作的好方法.
现在我处于使用数据存储的阶段,但是我遇到了问题.我的数据存储配额已满!:)我做了很多搜索问题,但我在这里.
对于每个blob,__ BlobInfo __和__ BlobFileIndex __种类可以保留有关blob的信息.我的问题是当我删除blob时,__ BlobInfo __中的信息被删除,但是__ BlobFileIndex __中的信息没有被删除
我拼命尝试了appcfg vacum_indexes,但这并没有像预期的那样有所帮助.
我顺便使用Java平台.
这是我的问题
谢谢.
编辑:哇!我现在看到我无法删除这些不需要的索引a)数据存储管理员没有列出它们b)手动删除代码抛出异常(java.lang.IllegalArgumentException:非常key.path.element.type:BlobFileIndex)因为以双下划线开头的实体是app引擎保留实体,它不允许我删除它.谷歌的家伙,我在这里偷偷摸摸:)
尝试使用ListBlobsSegmentedAsync方法,但这只返回主父目录级别的blob.
但我需要从所有n级子目录中一次性获取整个blob列表.
BlobContinuationToken continuationToken = null;
bool useFlatBlobListing = true;
BlobListingDetails blobListingDetails = BlobListingDetails.None;
int maxBlobsPerRequest = 500;
var blobOptions = new BlobRequestOptions (true );
do
{
var listingResult = await cbDir.ListBlobsSegmentedAsync(useFlatBlobListing, blobListingDetails, maxBlobsPerRequest, continuationToken, null, null);
continuationToken = listingResult.ContinuationToken;
srcBlobList.AddRange(listingResult.Results);
} while (continuationToken != null);
Run Code Online (Sandbox Code Playgroud) 由于Blobbuilder已弃用,我最近决定使用新的面部识别API,因此我很难切换到"blob".
function dataURItoBlob(dataURI, callback) {
// convert base64 to raw binary data held in a string
// doesn't handle URLEncoded DataURIs
var byteString;
if (dataURI.split(',')[0].indexOf('base64') >= 0) {
byteString = atob(dataURI.split(',')[1]);
} else {
byteString = unescape(dataURI.split(',')[1]);
}
// separate out the mime component
var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
// write the bytes of the string to an ArrayBuffer
var ab = new ArrayBuffer(byteString.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < byteString.length; i++) {
ia[i] = …Run Code Online (Sandbox Code Playgroud) 在看了关于blobs的这个教程:第9频道之后,我正在考虑使用blob容器来保存一堆推文(存储每条推文的json).理想情况下,我想为一天中的每个小时创建一个blob引用,并在它们进入时向这个blob添加新的推文.问题是,方法UploadText(字符串)会覆盖blob的现有内容,是否容易将文本追加到现有blob的方法?
谢谢!
fun (json:string) ->
let account = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("DataConnectionString"))
let blobs = account.CreateCloudBlobClient();
let tempBlob = blobs.GetBlobReference("tweets/2010-9-26/17/201092617.txt")
tempBlob.Properties.ContentType <- "text/plain"
tempBlob.UploadText(json)
Run Code Online (Sandbox Code Playgroud) 我想测试ViBe算法的背景减法.目前我正在使用opencv库.我在opencv/samples/gpu/bgfg_segm.cpp和bgfg_vibe.cpp文件中找到了一个示例实现.这些文件在gpu模块下.现在我有一个没有GPU的系统.当我尝试运行代码时,它会在第一帧的初始化时崩溃.谁能告诉我如何解决这个问题?
提前致谢.
blobs ×10
javascript ×3
azure ×2
html5 ×2
opencv ×2
binary-data ×1
c# ×1
datastore ×1
file ×1
fileapi ×1
gae-quotas ×1
geometry ×1
mysql ×1
nhibernate ×1
python ×1
sql ×1
stream ×1
windows ×1