gpt4 book ai didi

ADO.NET 数据服务 - 上传文件

转载 作者:行者123 更新时间:2023-12-04 07:02:01 25 4
gpt4 key购买 nike

我正在尝试编写 REST Web 服务,通过它我们的客户可以在我们的文件服务器上上传文件。是否有示例或任何有用的链接可供我引用以获取任何指导?

我还没有看到很多使用 ADO.NET 数据服务的 POST 操作示例。

最佳答案

我已经使用 POST 将文件上传到 ADO.NET 数据服务,尽管我不确定这是否是推荐的方法。我的做法是:

在数据服务上,我实现了一个名为 UploadFile 的服务操作(使用 WebInvoke 属性以便它满足 POST 调用):

[WebInvoke]
public void UploadFile()
{
var request = HttpContext.Current.Request;

for (int i = 0; i < request.Files.Count; i++)
{
var file = request.Files[i];
var inputValues = new byte[file.ContentLength];

using (var requestStream = file.InputStream)
{
requestStream.Read(inputValues, 0, file.ContentLength);
}

File.WriteAllBytes(@"c:\temp\" + file.FileName, inputValues);
}
}

然后在客户端,我使用以下方法调用数据服务:
var urlString = "http://localhost/TestDataServicePost/CustomDataService.svc/UploadFile";
var webClient = new WebClient();
webClient.UploadFile(urlString, "POST", @"C:\temp\test.txt");

这使用 WebClient 上传文件,该文件将文件数据放置在 HttpRequest.Files 集合中并设置内容类型。如果您更喜欢自己发送文件的内容(例如从 Asp FileUpload 控件)而不是 webClient 使用文件路径读取文件,您可以使用类似于在 this 中完成的方式的 WebRequest。邮政。虽然不是使用
FileStream fileStream = new FileStream(uploadfile, 
FileMode.Open, FileAccess.Read);

您可以使用您传入的字节数组。

我希望这有帮助。

关于ADO.NET 数据服务 - 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1702717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com