我在MVC中有一个项目,我想在其中使用Krajee引导文件输入和异步上传。我可以轻松地上传文件并在页面中对其进行处理,但是似乎无法使“删除”工作。我可以看到文件从控件中消失了,但是我想激活一个操作,以便从临时目录中删除文件。
根据我在网站上了解到的信息,我只需要发布正确的JSON即可,但是我似乎无法使其正常工作。
这是我的上传代码:
public ActionResult Upload()
{
Models.T_Sys_ConfigWeb configWeb = Entities.T_Sys_ConfigWeb.First();
string fileKey = "";
for (int i = 0; i < Request.Files.Count; i++)
{
HttpPostedFileBase file = Request.Files[i];
if (file.ContentLength > 0)
{
string newFileName = Session.SessionID + "_" + file.FileName;
string path = Server.MapPath("..\\Upload\\Temp") + "\\" + newFileName;
fileKey += path;
file.SaveAs(path);
}
}
var returnVAl = Json(new {
error = "",
initialPreview = "",
initialPreviewConfig = new[] { new { url = "/Order/Delete", caption = "test", key = fileKey } },
initialPreviewThumbTags = "",
append = true
}
, JsonRequestBehavior.AllowGet);
return returnVAl;
}
我的文件输入在cshtml中是这样编码的:
var fi = $('#input-file');
$("#input-file").fileinput({
uploadUrl: "/Order/Upload",
deleteUrl: "/Order/Delete",
browseOnZoneClick: true,
uploadAsync: true,
maxFileCount: 10,
}).on("filebatchselected", function (event, files) {
fi.fileinput("upload");
});
我尝试按所示设置一个deleteUrl,但是它似乎没有任何作用。
我试图像在示例中那样在HTML中添加图像,并且当我更改URL时,我的代码被调用,所以我知道我必须非常接近:
initialPreview: [
"http://lorempixel.com/800/460/people/1",
"http://lorempixel.com/800/460/people/2"
],
initialPreviewAsData: true, // identify if you are sending preview data only and not the raw markup
initialPreviewFileType: 'image', // image is the default and can be overridden in config below
initialPreviewConfig: [
{caption: "People-1.jpg", size: 576237, width: "120px", url: "/Order/Delete", key: 1},
{caption: "People-2.jpg", size: 932882, width: "120px", url: "/Order/Delete", key: 2},
],
谢谢