【问题标题】:Upload video into SQLite将视频上传到 SQLite
【发布时间】:2011-04-11 03:25:12
【问题描述】:

是否可以将视频上传到 SQLite DB(不仅仅是 URL)?我试过了,但没有成功;如果有人知道解决方案,请发布答案。

【问题讨论】:

  • 你喜欢什么?你的代码是什么样的,你得到什么错误信息?

标签: iphone sqlite


【解决方案1】:

这不是这个问题的确切答案。但我想给出解决方案。您可以将文档目录中的视频保存为文件格式。并在您的 SQLITE 数据库中插入文件名。

无论何时你想访问视频,都可以通过查询文件名轻松完成。

由于 SQLITE 是一个轻量级数据库,因此不建议在其上增加繁重的负载。

【讨论】:

    【解决方案2】:

    在 SQL 数据库中存储大文件听起来是个坏主意,尤其是 SQLite。 如果您确实需要这样做,请确保使用 BLOB 列并正确转义您的数据。

    【讨论】:

    • 我正在使用 blob 类型,它还将 url 转换为..base64 字符串,但数据未保存在表中....如果您有代码请发给我...
    【解决方案3】:

    尝试将大型二进制数据存储在数据库中是一种非常糟糕的做法,最好将视频存储在手机上以及视频在数据库中的位置。这将大大提高您打开文件的速度,因为在 iPhone 上查找文件比从数据库中提取所有这些字节要快得多。

    【讨论】:

    • 我想建立一个独立的应用程序,这样用户就可以在没有任何网络连接的情况下使用它,所以我需要自己将视频保存在手机内存中......
    • Liam 说的不是网络位置,而是文件系统文件夹。
    【解决方案4】:
    NSData *imgData;
    imgData = [[NSData alloc] initWithContentsOfURL:
                      [NSURL URLWithString:[aDict objectForKey:@"Icon"]]];
    if (sqlite3_prepare_v2(database, sqlStatement1, -1, 
                           &compiledStatement1, NULL) == SQLITE_OK) 
    {
        sqlite3_bind_blob(compiledStatement1, 1, [imgData bytes], 
                          [imgData length], SQLITE_TRANSIENT);
    }
    
    if ([[aDict objectForKey:@"Icon"] length] > 0)
    {
        [imgData release];
    }
    

    【讨论】:

      猜你喜欢
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-18
      • 2012-03-07
      • 1970-01-01
      • 2015-01-10
      相关资源
      最近更新 更多