我必须将从相机拍摄的照片上传到服务器。我成功拍摄了图像并获得了“资产网址”。当我打印它时,我得到类似“library://asset/asset.JPG?id = 869A0C6A-A07B-4B53-8925-5A50765A062D& ext = JPG“。当我尝试使用以下代码上传文件时不上传。
我使用以下代码。这里给出https://stackoverflow.com/a/7411872/2270057
WebClient client = new WebClient();
byte[] bret = client.UploadFile(path, "POST", FilePath);
我使用资产网址代替文件路径。有人可以帮帮我吗?我是否必须更改资产网址?
答案 0 :(得分:1)
由于iOS沙盒规则,无法直接读取此类URL的数据。 IOW你的图像不属于你的应用程序(它没有保存在它的目录中)。
您可以使用ALAssetRepresentation
获取图像(以及您想要的选项)数据,然后将该数据发布到您的网络服务器。
有几种方法可以这样做,但一般情况下,您可以从CGImage
获取ALAssetRepresentation
,这可用于创建UIImage
,可以将其转换为NSData
(表示PNG或JPEG),然后您可以获得System.IO.Stream
可用于POST。