我有一个使用Xamarin编写的iOS应用程序。有没有办法将一些文件(在我的情况下为Image)保存到Windows PC上的共享文件夹中? iOS设备和PC在同一个WiFi网络中,因此我可以通过IP地址访问PC机。但是如何将文件保存到该共享文件夹? 如果可能的话,我会感激一些代码示例。
答案 0 :(得分:0)
您是否尝试SharpCifs.Std?
NuGet包是here.
在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!"));
答案 1 :(得分: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})");
}
}