0
ファイルからAJAX経由でバイト配列を送信しようとしています。それは常にPDFの偽りです。入力ファイルを使用してajaxを通してバイト配列を送信します。
次のようにだから私のJavascriptを+ jQueryのは、次のとおりです。
私のWCFサービスでfunction upload() {
var file = document.getElementById("inputFile").files[0];
var fr = new FileReader();
fr.onload = function() {
var binaryString = this.result;
var objUploader = {
element: {
Name: "example",
Document: binaryString
}
};
$.ajax({
url: "http://localhost/Uploader/ServiceUploader.svc/saveDocument",
data: JSON.stringify(objUploader),
dataType: "json",
type: "POST",
contentType: "application/json; charset=uft-8",
success: function (data) {
},
error: function (xhr, status, error) {
}
});
};
//reading file
fr.readAsArrayBuffer(file);
}
私は、このプロパティを持つオブジェクトを取得するために期待してい:
[DataContract]
public class UploaderElement
{
[DataMember]
public string Name { get; set; }
[DataMember]
public byte[] Document { get; set; }
}
をそして、私の関数の定義は次のようになります。
long saveDocument(UploaderElement element);
問題は私のWCFに私は私の財産「ドキュメント」のバイトの空の配列を取得していますので(JSでFileReaderをした結果である)binaryStringは、常に空であることです。
これはobjUploaderはサービスに送信されたときにどのように見えるかです:私はこの問題を解決するにはどうすればよい
{"element":{"Name":"example","Document":{}}}
。私のWCFにPDFバイト表現を送る良い方法はありますか?ありがとう、と私の英語には申し訳ありません。
ありがとうございますが、私は '413 Request Entity Too Large'を取得しています。 web.config: ' –
Fertos
@Fentosないこれらの構成の専門家、異なるバインディングを試すことはできませんでした。たとえば、 'webHttpBinding' – wero