Xamarin.iOS:将文件保存到Windows共享文件夹

3

我有一个用Xamarin编写的iOS应用程序。 是否有一种方法可以将某些文件(在我的情况下是图像)保存到Windows PC上的共享文件夹中? iOS设备和PC在同一个WiFi网络中,因此我可以通过IP地址访问PC机器。 但是如何将文件保存到该共享文件夹呢? 如果可能的话,我会很感激一些代码示例。

2个回答

0

你试过SharpCifs.Std?吗?
NuGet包在这里。

像这样,在Xamarin.iOS上驱动SMB。

var file = new SmbFile("smb://UserName:Password@ServerName/ShareName/Folder/NewFileName.txt"));
file.CreateNewFile();
var writeStream = file.GetOutputStream();
writeStream.Write(Encoding.UTF8.GetBytes("Hello!"));

0
在我的Xamarin应用程序(在iPad Pro 12.9英寸上)中,我通过在Windows10机器上激活FTP(请参阅Google如何操作)并通过FTP将图像上传到Windows文件夹来解决了这个问题。
private void UploadImage(UIImage image, string fileName)
{
    try
    {
        string ftpPath = "ftp://192.168.47.79/"; // IP of my Windows10 pc
        string ftpTargetFilePath = $"{ftpPath}{fileName}";
        var credentials = new NetworkCredential("ftpuser", "ftp");

        FtpWebRequest request = (FtpWebRequest) WebRequest.Create(ftpTargetFilePath);
        request.Credentials = credentials;
        request.Method = WebRequestMethods.Ftp.UploadFile;
        request.UsePassive = false; // in my case I needed passive mode to be deactivated
        
        using (Stream imageStream = image.AsPNG().AsStream())
        {
            using (Stream ftpStream = request.GetRequestStream())
            {
                imageStream.CopyTo(ftpStream);
            }
        }
    }
    catch (Exception ex)
    {
        Debug.WriteLine($"Uploading Image: Failed! ({ex.Message})");
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接