gpt4 book ai didi

WCF 服务契约(Contract)从 ExtJs 前端接收文件上传

转载 作者:行者123 更新时间:2023-12-04 18:23:21 25 4
gpt4 key购买 nike

我查看了现有问题,但找不到完全匹配的问题。也许我遗漏了一些明显的东西,如果是这样 - 请在正确的地方指导我。这是我的问题:

我有 ExtJs 前端和需要将二进制数据上传到 WCF 后端的应用程序。在前端我有以下代码(我使用 Ext.form.field.File 控件让用户选择一个文件)

// Create a dummy form in the controller after user selected a file
var form = Ext.create('Ext.form.Panel', {
items: [ my_file_field ]
});

form.getForm().submit({
method: 'POST',
url: 'myservice.url',
...
});

在后端,我有以下契约(Contract):
namespace MyApp
{
[ServiceContract]
public interface ITransferService
{
[OperationContract]
[WebInvoke(UriTemplate = "UploadImage", Method = "POST")]
void SaveImage(Stream buffer);
}

}

它工作“很好”,除了一件小事:在 SaveImage() 内部的流中我不仅从用户选择的文件中获得二进制数据,还获得一堆标题和编码字段:
------WebKitFormBoundary26wAkvwGTnAMELFM
Content-Disposition: form-data; name="ext-gen1654"; filename="photo.png"
Content-Type: application/octet-stream
..... binary data goes here ....
------WebKitFormBoundary26wAkvwGTnAMELFM--

我错过了什么?如何更改服务契约(Contract)以便获得干净的二进制数据?

最佳答案

我找到了这篇文章:http://antscode.blogspot.com/2009/11/parsing-multipart-form-data-in-wcf.html

有人知道更简单的解决方案吗?并不是说提出的解析逻辑很复杂,但我的印象是这是一项常见的任务,应该有更简单的方法来完成它。我不敢相信 MSFT 不理解 WCF 中开箱即用的标准网页 POST...

关于WCF 服务契约(Contract)从 ExtJs 前端接收文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10209646/

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