我正在做一个基于HTML和jQuery的简单项目(没有服务器端)。HTML包含一个表单,用户将在其中插入图像,在提交时将创建一个包含该图像的zip文件。
通过使用jsZip库,我能够将所有其他文件添加到已经预发送的创建的zip文件中。但是,用户可以从任何地方(从某个站点或从计算机中的文件夹)添加图像。
尝试一个我尝试使用input[type="file"]
以便用户可以浏览稍后将保存在图像文件夹中的图像,以便jsZip可以轻松访问它。
问题我找不到任何方法在没有服务器端语言参与的情况下将图像保存在图像文件夹中
尝试二 我尝试使用input[type="text"]
让用户插入图像URL,然后Ajax请求获取要通过jsZip添加的图像。
问题它正在生成错误Cross-Origin Request Blocked
$.ajax({
url: PageBGimage,
type: "Post",
contentType:'image/jpeg',
mimeType: 'image/jpeg; charset=x-user-defined',
success: function (json, data){
// code to add image to jsZip
}
});
演示:https://codepen.io/alikhan999/pen/MVvoOM
跨域请求被阻止是指当您尝试在两个不同域之间发送 ajax 请求时发生。 但是,如果另一个域允许您向该域发送请求,则可以向该域发送请求。
检查PageBGimage
是否与保存 js 文件(发送请求的文件)的域相同