您好,我有一个按钮,当我单击它时,此函数称为:
public async Task<IActionResult> QrCode(int Id)
{
var model = await context.Files.Where(x => x.Id == Id).FirstOrDefaultAsync();
string qrUrl = CreateQrLink(Id);
FileDetailsViewModel fileDetails = new FileDetailsViewModel
{
Id = model.Id,
Name = model.Name,
Author=model.Author,
Description=model.Description,
Genre=model.Genre,
PublishedOn = model.PublishedOn,
QrUrl = qrUrl
};
return View(fileDetails);
}
这里是CreateQrLink函数
public string CreateQrLink(int Id)
{
var baseUrl = string.Format("{0}://{1}{2}",Request.Scheme, Request.Host, Url.Content("~"));
QRCodeGenerator QrGenerator = new QRCodeGenerator();
var url = Url.Action("DownloadFileFromFileSystem", "Files", new { id = Id });
QRCodeData QrCodeInfo = QrGenerator.CreateQrCode(baseUrl+url, QRCodeGenerator.ECCLevel.Q);
QRCode QrCode = new QRCode(QrCodeInfo);
Bitmap QrBitmap = QrCode.GetGraphic(60);
byte[] BitmapArray;
using(MemoryStream ms = new MemoryStream())
{
QrBitmap.Save(ms, ImageFormat.Png);
BitmapArray = ms.ToArray();
}
string qrUri= string.Format("data:image/png;base64,{0}", Convert.ToBase64String(BitmapArray));
return qrUri;
}
这是我想通过点击下载QrCode按钮从这个视图下载图像的视图,我如何实现它?我不在数据库中保存QrLink我应该保存它还是其他什么?我想从src=Model获取照片。QrUrl
@model FileDetailsViewModel
@{
ViewBag.Title = "Qr Code";
}
<div class="row justify-content-center m-3">
<div class="col-sm-8">
<div class="card">
<div class="card-header">
<h1>@Model.Name</h1>
<h2>Product Id: @Model.Id</h2>
</div>
<div class="card-body text-center">
<img style="width:450px;height:450px;" src="@Model.QrUrl" />
</div>
<div class="card-footer text-center">
<a asp-controller="files" asp-action="Details" asp-route-id="@Model.Id" class="btn btn-primary">Back</a>
<a href="#" class="btn btn-success">Download QrCode</a>
</div>
</div>
</div>
</div>
下面是一个简单的解决方案add download=“下载文件的名称”href=“图像的url”
<a download="@Model.Name" style="width:150px;" href="@Model.QrUrl"class="btn btn-success">Download</a>
返回类型应为FileResult,如下所示。
string filePath = string.Format("data:image/png;base64,{0}", Convert.ToBase64String(BitmapArray))
string contentType = ImageFormat.Png.ToString();
FileResult qrUri= this.File(filePath, contentType);
return qrUri;
问题内容: 我知道保护图像下载的最佳方法不是一开始就将其放在互联网上。 我假设没有100%防止图片下载,并且如果用户可以在Internet上看到图片,那么他只要有一点经验就可以找到下载图片的权限。 我知道透明或覆盖图像,或者使用CSS属性来保护它并防止右键单击下载,但是在那里 其他使图片下载复杂化并因此阻止大多数用户下载图片的方式? 这是简单的代码开头: 问题答案: 根本没有办法阻止用户执行特定任
Scrapy提供了一个 item pipeline ,来下载属于某个特定项目的图片,比如,当你抓取产品时,也想把它们的图片下载到本地。 这条管道,被称作图片管道,在 ImagesPipeline 类中实现,提供了一个方便并具有额外特性的方法,来下载并本地存储图片: 将所有下载的图片转换成通用的格式(JPG)和模式(RGB) 避免重新下载最近已经下载过的图片 缩略图生成 检测图像的宽/高,确保它们满
问题内容: 现在我有一个,我想将其另存为PNG。我可以使用所有那些花哨的复杂文件系统API来做到这一点,但我真的不喜欢它们。 我知道上面是否有带有属性的链接: 如果用户单击该文件,它将下载文件。因此我想到了这个: 但是,它似乎不起作用。它是否必须由用户操作触发?否则为什么它不起作用? 问题答案: 问题在于jQuery不会触发元素的本机事件,因此不会发生导航(的正常行为),因此您需要手动执行操作。对
图片下载和存取的简单demo。实现同步和异步两种下载方式。并且将下载好的图片保存在Document,然后进行读取显示。 [Code4App.com]
从互联网下载图片,并显示。下载图片过程中显示进度条。支持图片缩放,运用了ASI、SDWebImage。支持图片缓存。 [Code4App.com]
问题内容: 我在网络应用程序中生成普通链接,例如: 当我单击链接时,它将在新页面中显示图片。如果要保存图片,则需要右键单击它并选择“另存为” 我不希望这种行为,我想在单击链接时弹出一个下载框,这可能仅适用于html或javascript吗?怎么样? 如果不是,我想我将不得不编写一个download.php脚本,并以文件名作为参数将其调用到href中…? 问题答案: