将大视频从 iPhone 上传到网络服务器

2024-02-05

我正在尝试将一个大视频从 iphone 上传到具有 php 脚本的网络服务器。

我在用着NSInputStream获取文件视频块,我在每次遍历时创建一个请求(POST)

- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode

方法,将读取的数据作为参数传递。

这是我用来获取数据块的代码

- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode 
{
switch(eventCode) 
{
    case NSStreamEventHasBytesAvailable:
    {
        NSMutableData *dataSlice;

        uint8_t buf[1048576];
        unsigned int len = 0;
        len = [(NSInputStream *)stream read:buf maxLength:1048576];
        if(len) 
        {
            dataSlice = [NSMutableData dataWithBytes:(const void *)buf length:len];


            NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:folderNameForUpload, kFolderName,
                                           @"abcd.MOV", kFileName,
                                           @"MOV", kFileType,
                                           nil];
            MKNetworkOperation *op = [self.networkEngine operationWithPath:@"upload.php" params:params httpMethod:@"POST"];

            [op addData:dataSlice forKey: @"file"
                             mimeType: @"image/mov"
                             fileName: @"abcd"];

            [op onCompletion:^(MKNetworkOperation *completedOperation) {

            } onError:^(NSError *error) {

            }];

            [[WebRequest sharedInstance].networkEngine enqueueOperation: op];


        }
        else 
        {
            NSLog(@"NO MORE BUFFER!");
        }
        break;
    }


    case NSStreamEventEndEncountered:
    {
        [stream close];
        [stream removeFromRunLoop:[NSRunLoop currentRunLoop]
                          forMode:NSDefaultRunLoopMode];
        [stream release];
        stream = nil;
        break;
    }
}
}

它将数据发送到服务器,我可以将数据块写入文件中。但是,问题是,如果有多个块,文件就会损坏,我无法打开视频文件。

我检查了服务器和客户端上的文件大小,两者完全相同。

下面是 php 脚本,我用来合并视频文件块。

        $tmp_file = $_FILES['file']['tmp_name'];

        $write_handle = fopen($fileURL, "ab+");
        $read_handle = fopen($tmp_file, "rb");

        $contents = fread($read_handle, filesize($tmp_file));
        fwrite($write_handle, $contents);

        fclose($write_handle);
        fclose($read_handle);

我在这里做错了什么?请帮忙!

我被这个问题困扰了!!

提前致谢,

Suraj


我自己也遇到了问题。实际上,我同时发送了不同的视频块。问题的出现是因为后面的视频块在第一个视频块之前到达服务器。

我通过仅在第一个视频块到达网络服务器并且在客户端获得响应后才发送第二个视频块来解决了这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将大视频从 iPhone 上传到网络服务器 的相关文章

  • 覆盖 FOS 用户包中的“更改密码”模板

    我做了一些研究 遗憾的是找不到任何帮助 因此 我将 FOSUserBundle ChangePasswordAction 渲染到我的模板中 但它显示供应商提供的默认模板 我的渲染控制器的模板 block body h2 Einstellun
  • Facebook PHP-SDK 页面刷新后似乎丢失了 userID

    我似乎登录工作正常 我可以登录 接受应用程序 第一次 然后显示用户信息 例如姓名 图片 等 然而 当我刷新页面时 userid 又回到 0 我必须再次登录 我不确定问题是什么 我必须在每次页面加载时重新启动它还是什么 我不知道 我会发布一些
  • 在 iOS 上使用 RNCryptor 异步解密大文件

    我需要在 iOS 上使用 RNCryptor 异步解密一个大文件 以便显示进度条 我在任何地方都找不到示例 因此尝试了我猜对的方法 但是 我想出的方法不起作用 解密器的处理程序从未被调用 并且线程在发送所有数据后因 EXC BAD ADDR
  • 使用 PHP 从 Mongo 解码 JSON

    我已经看过这个线程 PHP 解码嵌套 JSON https stackoverflow com questions 3555335 php decode nested json并没有设法用它来解决我的问题 我目前正在从 Mongo 获取 J
  • 无法以编程方式快速设置 NSLayoutConstraint 乘数...“无法分配给此表达式的结果

    我试图以编程方式快速设置乘法器的约束 当我设置该值时 它只会给我错误 无法分配给该表达式的结果 我用 IBOutlet 声明了 NSLayoutConstraint 然后设置乘数 就像我对另一个常量所做的那样 效果很好 但这个不会接受它 I
  • 使用 UITabBarController 时覆盖整个屏幕的视图?

    我想在 UITabBarController 设置中在整个屏幕上覆盖 HUD 样式的透明图形 执行此操作的按钮位于第一个选项卡的屏幕 FirstViewController 中 并且覆盖层也应该覆盖选项卡 这可能吗 您可以将新视图直接附加到
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 如何使用 IOS 12 在 UITableViewCell 中正确添加 UICollectionView

    由于某些原因 在使用 Xcode 10 beta 时 我无法正确显示 tableview 单元格内集合中的某些项目 在过去的四天里我尝试了我所知道的一切 我做了一个小项目样本来看看我的问题是什么 如果有人想在本地运行完整代码 请参见此处 h
  • 使用PHP从doc、xls文件中读取数据

    我想知道是否可以从 doc 和 xls 文件中读取数据并将 将内容读取到图像文件中 创建文档的页面样本 例如 我有一些文件希望我的客户购买 所以我需要自动创建小图像 例如我的文档样本 我们将不胜感激您的帮助 对于读取 xls 文件 我真的推
  • Xcode 异步单元测试在主线程上等待

    我正在尝试使用 Xcode 中的单元测试来测试一些异步代码 但主线程被阻塞 问题在于 某些正在测试的代码期望从 iOS 类 AVFoundation 接收回调 但是 AVFoundation 类似乎只会在主线程上回调 问题是 如果我正在进行
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • UITabBarController 为 TabBar 的每个 ViewController 提供不同的 Storyboard 文件

    我的团队正在开发一个具有 UITabBarController 的应用程序 我们正在使用 Storyboard 来开发界面和流程 由于我们是一个团队 所以我们不能将所有流程放在一个故事板中 因为这会导致与 SVN 同步出现问题 所以 解决方
  • 如何将 .xlsx 文件上传到 jenkins 作业

    如何将 xlsx 文件作为构建参数上传到 jenkins 作业 我尝试使用文件参数 但我发现该文件正在丢失其扩展名或原始格式 有什么方法可以从 jenkins UI 将 excel 文件上传到 jenkins 作业吗 In the file
  • 字符串相似度的算法(比Levenshtein和similar_text更好)? php, Js

    在哪里可以找到比 levenshtein 和 phpimilar text 方法更准确地评估错误字符的拼写的算法 Example similar text jonas xxjon similar echo similar returns 6
  • 有没有办法在 onclick 触发时禁用 iPad/iPhone 上的闪烁/闪烁?

    所以我有一个有 onclick 事件的区域 在常规浏览器上单击时 它不会显示任何视觉变化 但在 iPad iPhone 上单击时 它会闪烁 闪烁 有什么办法可以阻止它在 iPad iPhone 上执行此操作吗 这是一个与我正在做的类似的示例
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • 使用 php/regex 验证美国电话号码

    EDIT 我混合并修改了下面给出的两个答案 以形成完整的功能 现在它可以完成我想要的功能 然后是一些 所以我想我会将其发布在这里 以防其他人来寻找同样的东西 Function to analyze string against many p
  • PHP 表单 - 带验证蜜罐

    我有以下内容 效果很好 但对垃圾邮件机器人开放 我想放入蜜罐 而不是验证码 下面的代码适用于验证姓名 电子邮件 消息 但我无法让它与蜜罐一起工作 任何人都可以查看 蜜罐 代码并告诉我如何修复它吗 我希望表单给出 success2 不允许垃圾
  • PayPal 网关已拒绝请求。安全标头无效(#10002:安全错误 Magento

    在 magento 中增加 PayPal 预付款 我已填写 magento admin 中的所有凭据 但是当我进入前端并单击 pay pal 按钮时 它给出了 PayPal 网关已拒绝请求 安全标头无效 10002 安全错误 我用谷歌搜索了
  • 致命错误:在 Swift 中解包可选值时意外发现 nil

    所以我试图获取 Swift 中输入字段的文本 这就是我得到的 class ViewController UIViewController IBOutlet var passwordField UITextField IBOutlet var

随机推荐

  • 如何更改 Facebook 登录页面的语言?

    在 Facebook API 中 有一个黑客手册项目 https github com facebook facebook ios sdk tree master sample Hackbook进行演示 当我尝试通过这个 Hackbook
  • 使用 httpurlconnection 和 android 上传图像字节数组

    我正在开发小型 Android 应用程序 我想在其中将图像从我的 Android 设备上传到我的服务器 我在用HttpURLConnection为了那个原因 我正在通过以下方式执行此操作 Bitmap bitmap BitmapFactor
  • 为什么这个脚本不能与 python 线程一起使用

    所以我一直在尝试找到一种访问任务管理器的方法 我尝试了一些方法 包括 wmi 模块和 Windows 任务列表 但都不适合我的需要 wmi 太慢了 当我在使用多处理的东西中同时访问它时 任务列表变得太慢了 所以我发现这个脚本工作得很好 但我
  • Flexbox 每行的元素数量相同吗?

    我有动态内容和响应式布局 因此项目数量和可用宽度会有所不同 有时 div 中的元素需要换行到第二个 行 使用 Flexbox 或任何其他 CSS 方法 可以使每行上的项目数相等吗 div class cont div class elem
  • Swift 泛型:比泛型更专业?

    XCode 6 测试版 5 Goal 我正在尝试为语义兼容但不共享 或似乎共享 足够协议的类型编写泛型代码 以使我的泛型基于共享协议的子集 到目前为止 我还没有找到解决方案 并且想知道我错过了一些东西 或者它是否是语言的限制 任何见解都值得
  • JavaScript readAsDataurl 不是一个函数

    在 Gecko Firefox 中我收到错误消息 类型错误 fr readAsDataurl 不是函数 使用以下 JavaScript var fr new FileReader fr readAsDataURL files i 事实证明
  • 无法发送邮件 - javax.net.ssl.SSLException:无法识别的 SSL 消息,纯文本连接?

    我们使用 Spring 发送邮件JavaMailSenderImpl 以下是配置
  • 防止用户在我的服务器上创建多个帐户

    我有一款最初为 PC 编写的游戏 现在正在移植到 ios 这是一款在线多人游戏 需要用户拥有我们的帐户 为此 他们需要在游戏中注册并注册 我们希望尝试阻止同一用户创建大量帐户 如果发生这种情况并不重要 但我们希望减少这种情况 在 PC 上
  • CLLocation 提示一瞬间显示又消失

    在我的应用程序中 我尝试从 GPS 获取经度和纬度 为此 我必须询问用户是否有权访问他的位置 在我这样做之前 我添加到Info plist这两个卢比 Privacy Location When In Use Usage Descriptio
  • 在自定义映射中调用 IMappingEngine.Map

    使用 AutoMapper 当使用 ConvertUsing 为容器类型定义自定义映射时 我经常需要在映射函数内调用 IMappingEngine Map 这是必要的 因为它允许我重用子映射的定义 CreateMap
  • 使用 for 循环按列填充数据框

    我创建了一个包含 11 列和 15 行的空数据框 并随后命名了这些列 L df lt data frame matrix ncol 11 nrow 15 names L df lt paste0 L por 0 10 w lt c 0 2
  • 如何迭代通用函数中传递的切片并集? (T无芯型)

    我正在 go 1 18 中测试泛型并查看了这个example https go dev doc tutorial generics declare type constraint 我想重新创建该示例 但能够传入 int 切片或 float
  • 未为目标“###”提供服务证书 在 ClientCredentials 中指定服务证书

    我已经实现了一个测试客户端 服务器 它实现了UserName通过 WCF 进行消息身份验证 它almost一切顺利 但我在最后一个障碍处摔倒了 我得到一个InvalidOperationException上面写着 未为目标 http loc
  • 使用数组和List<>哪个更好? [复制]

    这个问题在这里已经有答案了 我想知道哪种类型的性能更好以及您认为应该使用哪种类型 例如 我有一个字符串列表 不知道我需要多少个项目 因此使用 Add String 函数非常方便 我可以随时轻松地将新字符串添加到列表中 使用每种方法的优点 缺
  • WiX 安装程序 msi 未安装使用 Visual Studio 2017 创建的 Winform 应用程序

    为了进行简单的测试 我创建了一个Wix简单 Winform 应用程序的安装程序应用程序如下 但是当我运行msi使用安装程序创建 它运行仅一秒钟 然后退出而不安装 Winform 应用程序 Question 这可能是什么问题 我的身上似乎缺少
  • 未指定的隐式对象创建

    Since P0593 为低级对象操作隐式创建对象 https github com cplusplus papers issues 106已被接受 现在可以创建对象隐含地在 C 20 中 具体来说 该提案引入的措辞允许某些操作 例如std
  • SchemaSpy PostgreSQL - 警告 - 连接失败

    我尝试使用 SchemaSpy 连接到我的 PostgresSQL 服务器 我安装了 Java 使用oracle java8 installer from ppa webupd8team java 我的 PostgreSQL 服务器在 Do
  • 捕获 WebService 抛出的 SoapException

    我写了以下服务 namespace WebService1 WebService Namespace http tempuri org WebServiceBinding ConformsTo WsiProfiles BasicProfil
  • Umbraco - 通过 URL 选择节点

    当我尝试通过 URL 访问节点时 我遇到了 Umbraco 问题 我一直在尝试形成一个 xpath 查询来选择 url 但我不知道该怎么做 而且他们的 API 中的所有内容都是 动态的 所以我发现不可能更深入地挖掘其他内容方法 Umbrac
  • 将大视频从 iPhone 上传到网络服务器

    我正在尝试将一个大视频从 iphone 上传到具有 php 脚本的网络服务器 我在用着NSInputStream获取文件视频块 我在每次遍历时创建一个请求 POST void stream NSStream stream handleEve