sunucuda belgeleri sıkıştırma sona erdi ve onlar sıkıştırılmış bir kez ben istemci tarafında indirebilir:
self.download = function() {
var mappedArray = $.map(self.checkedDocs(), function (item) { return item.pdfloc() });
self.service.zipDocs(ko.toJSON(mappedArray), function (data) {
if (data == "Error") {
$("#modalResult").text("Error has occured, please try later.");
$("#modalConfirmation").dialog();
}
else if (data == "Success") {
$("#modalResult").text("Your documents are being download.");
$("#modalConfirmation").dialog();
}
});
}
Ve API çağrısı:
self.zipDocs = function (docs, callback) {
$.ajax({
url: "http://api.xxx.com/functions/zip",
type: "POST",
contentType: "application/json",
dataType: "binary",
data: docs,
processData: false,
success: function (blob) {
saveAs(blob, "ZippedDocuments.zip");
callback("Success");
},
error: function (data) {
callback("Error");
}
});
}
Ve API C# cofr:
[HttpPost]
[Route("zip")]
public HttpResponseMessage ZipDocs([FromBody] string[] docs)
{
using (ZipFile zip = new ZipFile())
{
zip.AddFiles(docs, false, "");
return ZipContentResult(zip);
}
}
Umarım aynı sorunla karşılaşanlara yardımcı olur.
https://stuk.github.io/jszip/ – levi
Teşekkür ederim, deneyeceğim ve nasıl gideceğini size bildireceğim. Teşekkürler! – user3378165
@levi Örnekleriyle çalışmaya başladım (bir dosya oluşturdum) ama belgeler listemle nasıl baş edeceğimi bilmiyorum, bana bir örnek yazabiliyor musunuz? – user3378165