gpt4 book ai didi

javascript - 在 .Net Web App 中上传(使用 JSZIP)时,需要从客户端计算机压缩所选文件。压缩文件应上传到服务器位置

转载 作者:行者123 更新时间:2023-11-28 08:36:18 24 4
gpt4 key购买 nike

我是 JSZIP 的新手,可能会问一个明显的问题。但这里是:

我正在使用文件上传控件将文件上传到服务器。源文件位于客户端的某个路径中。目标文件应该位于服务器上。

<html xmlns="http://www.w3.org/1999/xhtml">  
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>jszip demo</title>
<script type="text/javascript" src="../Scripts/jszip.js"></script>
<script type="text/javascript" src="../Scripts/jszip-load.js"></script>
<script type="text/javascript" src="../Scripts/jszip-deflate.js"></script>
<script type="text/javascript" src="../Scripts/jszip-inflate.js"></script>

<script type="text/javascript">

function zipFileAndUpload()
{
var myFileUploadControl1 = document.getElementById('myFileUploadControl1');
var FILENAMEABSOLUTE = myFileUploadControl1.value;

var zip = new JSZip(FILENAMEABSOLUTE);
zip.file(FILENAMEABSOLUTE);
var content = zip.generate({ type: "blob" });
//
// Other Code Here
//
}

</script>
</head>
<body>
<form id="form1" runat="server">
<asp:FileUpload ID="myFileUploadControl1" runat="server"/>
<input type="button" value="Select File" onclick="zipFileAndUpload()"/>
</form>
</body>
</html>

我的要求是,当客户端选择文件时,应该使用javascript中的JSZIP对其进行压缩,然后上传到服务器。

我试图找到解决方案,但一无所获。我到目前为止尝试过的解决方案也不起作用。

  1. 我需要读取客户端计算机上由“myFileUploadControl1”选择的文件。
  2. 压缩文件并将其保存在本地 RAM 或客户端计算机中。
  3. 在此之后在服务器路径上上传到服务器上。

有人可以帮助我吗?

最佳答案

构建 zip 后,您可以使用 jQuery 将其发布到服务器,如下所示。

var zipData = zip.generate({ type: "base64" });

var formData = new FormData();
formData.append('zipData', zipData);

var postToServer = $.ajax({
type: "POST",
url: "Upload", // My server-side MVC controller has an action named Upload
data: formData,
processData: false,
contentType: false,
});

postToServer.done(function () {
...
});

postToServer.fail(function( jqXHR, textStatus ) {
...
});

在服务器端,您将需要代码来接收数据流并使用您选择的任何服务器端技术将其保存在那里。

关于javascript - 在 .Net Web App 中上传(使用 JSZIP)时,需要从客户端计算机压缩所选文件。压缩文件应上传到服务器位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21125109/

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