【发布时间】:2015-07-13 21:59:02
【问题描述】:
我目前正在开发一个 Windows 应用商店应用程序,我必须在其中拍照,将其保存在本地,然后在调用同步时将其发送到将图片保存在服务器上的服务。
我在复制这些图片时遇到问题。我要做的是:
-
获取指定文件夹中所有图片的列表,并将它们的
buffer.toarray提取到bitearray中Dim fileList As IReadOnlyList(Of StorageFile) = Await folder.GetFilesAsync() For Each file As StorageFile In fileList Dim Buffer As IBuffer = Await Windows.Storage.FileIO.ReadBufferAsync(file) fileBytes = Buffer.ToArray() lstfileBytes.Add(fileBytes) Next file -
然后我将其发送到我的 VB.Net 服务,该服务将图像保存到它使用
stream.copyto()创建的文件中For i = 0 To lstMemoryPicturesReservoir.Count - 1 Dim fs As FileStream = New FileStream("\\SERVER\Data\name.jpg", FileMode.Create) Dim memory As Stream = New MemoryStream(lstMemoryPicturesReservoir(i)) memory.position = 0 memory.CopyTo(fs) Next
此代码对我有用,除非图片尺寸小到一定程度。我注意到当我的ByteArray 的lenght 在4000 或更低 左右时,图片无法正确复制。当我在我的 Windows 照片查看器 中打开它时,我收到以下错误:
Windows 照片查看器无法显示此图片,因为该文件是 空的
知道什么可能导致这个问题或如何解决它吗?
【问题讨论】:
标签: .net vb.net web-services stream file-transfer