我想创建一个以byte []形式接收图像的Web服务,并将它们保存在FileSystem中。
我希望继续发送响应,因为我将文件保存在FileSystem上,以便用户可以在移动设备上显示进度。
目前我已经构建了一个只能接收单个图像的Web服务。
这是保存单张图片的代码 -
[WebMethod]
public string upload(byte[] postedFile, string folderName, string fileName)
{
try
{
string to_post_in = Path.Combine(HttpContext.Current.Server.MapPath("~/"), folderName);
File.WriteAllBytes(Path.Combine(to_post_in, fileName), postedFile);
SortedList slResult = new SortedList();
slResult.Add("0", "Success");
return JsonConvert.SerializeObject(slResult);
}
catch
{
SortedList slResult = new SortedList();
slResult.Add("1", "Error");
return JsonConvert.SerializeObject(slResult);
}
}
答案 0 :(得分:1)
您无法在Web服务中的单个功能中执行此操作
为什么不尝试创建以下内容?
功能upload
用于保存此类文件列表
public string upload(List<byte[]> postedFile, string folderName, List<string> fileNameList)
{
//code to save here
}
函数checkUploaded
,它将图像名称列表作为参数并检查已保存的图像数量 -
public string checkUploaded(string folderName, List<string> fileNameList)
{
//add code to check how many images of the list have already been saved
//and return a percent
}
答案 1 :(得分:1)
这可能是不可能的!
据我所知,一旦您发回回复,代码就不会继续从该行继续。
您可以执行以下操作 -
通过这种方式,您将能够确定哪些文件已成功存储,哪些文件无法存储。
希望它有所帮助!