C#文件访问错误
我有以下C#代码:C#文件访问错误,c#,ftp,file-access,C#,Ftp,File Access,我有以下C#代码: 当代码试图运行ftp.upload时,我遇到了这个错误。我知道错误的意思,但我不知道如何关闭打开文件的句柄。因为您正在调用Image Image=Image.FromFile(selectedFile) 如果查看文档,您将看到以下字符串: 在释放图像之前,文件将保持锁定状态 这意味着,根据提供的代码,即使在上传完成后,也可以初始化映像 ftp.upload("NAME_OF_THE_FILE_RECOVERED_FROM_FILE_ITSELF", selectedFile,
当代码试图运行
ftp.upload
时,我遇到了这个错误。我知道错误的意思,但我不知道如何关闭打开文件的句柄。因为您正在调用Image Image=Image.FromFile(selectedFile)出于某种原因,在上载之前,请执行代码>
如果查看文档,您将看到以下字符串:
在释放图像之前,文件将保持锁定状态
这意味着,根据提供的代码,即使在上传完成后,也可以初始化映像
ftp.upload("NAME_OF_THE_FILE_RECOVERED_FROM_FILE_ITSELF", selectedFile, directory);
Image image = Image.FromFile(selectedFile);
通过使用将image.FromFile
与包装,尝试处理图像对象:
string selectedFile = "D:\..\IMGP2695.JPG";
MyImage myImage = new MyImage();
string thumbnail_name = string.empty;
using(Image image = Image.FromFile(selectedFile)){
thumbnail_name = CreateThumbnail(image);
myImage.height = image.Height + "px";
myImage.width = image.Width + "px";
}
ftp.upload(myImage.internalName, selectedFile, directory);
为什么要首先打开它?该文件是OpenFileDialog的结果。我没有明确地打开它。太好了。现在正在工作。谢谢。我没有想到那句台词。很抱歉你能给我一个关于如何上传另一个线程的图像的想法吗?在上传完成之前,表单一直保持冻结状态,这不好。我应该使用“使用”。谢谢你的例子。我将相应地更改代码。
string selectedFile = "D:\..\IMGP2695.JPG";
MyImage myImage = new MyImage();
string thumbnail_name = string.empty;
using(Image image = Image.FromFile(selectedFile)){
thumbnail_name = CreateThumbnail(image);
myImage.height = image.Height + "px";
myImage.width = image.Width + "px";
}
ftp.upload(myImage.internalName, selectedFile, directory);