【问题标题】:convert url into NSData将 url 转换为 NSData
【发布时间】:2016-11-10 07:22:53
【问题描述】:

我想在服务器上上传录音。

我的文件网址是:

file:///Users/xantatech/Library/Developer/CoreSimulator/Devices/77F4D768-1F04-4390-B60F-F1FE79388653/data/Containers/Data/Application/87C457FA-1A9F-4CA9-A651-6A3D411A0B7E/Documents/myAudio0.mp3

我的代码是:

NSData* data = [NSData dataWithContentsOfURL:audioURL options:NSDataReadingUncached error:&error];

但数据为零。

【问题讨论】:

标签: ios objective-c nsdata


【解决方案1】:

请尝试以下代码

NSString *audioURLString = @"file:///Users/xantatech/Library/Developer/CoreSimulator/Devices/77F4D768-1F04-4390-B60F-F1FE79388653/data/Containers/Data/Application/87C457FA-1A9F-4CA9-A651-6A3D411A0B7E/Documents/myAudio0.mp3";
NSString *sendStr = [[audioURLString absoluteString] stringByReplacingOccurrencesOfString:@"file:///private" withString:@""];
NSData *data = [[[NSData dataWithContentsOfFile:sendStr]]];

祝你好运.....

【讨论】:

    【解决方案2】:

    使用此代码从 Document 文件夹中获取数据:

    if([[NSFileManager defaultManager] fileExistsAtPath:filepath)
    {
       NSData *data = [[NSFileManager defaultManager] contentsAtPath:filepath];
    }
    else
    {
       NSLog(@"File not exits");
    }
    

    【讨论】:

      【解决方案3】:

      你只需要这样做:

      NSURL *imgPath = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"png"];
      NSString *path = [imgPath absoluteString];  
      NSData *data = [NSData dataWithContentsOfURL: [NSURL URLWithString:path];
      

      【讨论】:

        【解决方案4】:

        试试这个

        NSData* data =[[NSData alloc]init];
        data = [NSData dataWithContentsOfFile:[NSURL URLWithString:path]];
        

        【讨论】:

          【解决方案5】:

          运行后:
          file:///Users/xantatech/Library/Developer/CoreSimulator/Devices/77F4D768-1F04-4390-B60F-F1FE79388653/data/Containers/Data/Application/"87C457FA-1A9F-4CA9-A651-6A3D411A0B7E"/Documents/myAudio0.mp3
          粗体字“87C457FA-1A9F-4CA9-A651-6A3D411A0B7E”可能会改变;
          您应该始终使用该方法获取沙盒中的路径:

          NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject] stringByAppendingPathComponent:@"myAudio0.mp3"];
          

          【讨论】:

            【解决方案6】:

            你可以用这个:

            NSData *data = [NSData dataWithContentsOfURL:yourURL];
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-07-17
              • 2011-09-01
              • 2012-07-28
              • 2022-01-11
              • 2013-12-09
              • 2014-02-14
              相关资源
              最近更新 更多