gpt4 book ai didi

c# - Web Api 2 RESTFUL 图片上传

转载 作者:太空狗 更新时间:2023-10-29 20:30:45 24 4
gpt4 key购买 nike

我是 Web Api 的新手,正在处理我的第一个项目。我正在为我们公司开发移动 CRM 系统。

我想存储公司标志、客户面部照片等。

我找到了一些关于这个主题的教程,但不幸的是,其中一些是旧的(不使用异步)而其他的则不起作用。

最后我找到了这个: http://www.intstrings.com/ramivemula/articles/file-upload-using-multipartformdatastreamprovider-in-asp-net-webapi/它工作正常,但我不明白一些事情。

1) 我应该使用 App_Data(或任何其他文件夹,如/Uploads)来存储此图像,还是将图像存储在数据库中?

2) 我可以只设置支持的图像,如 .jpg、.png 并拒绝任何其他文件吗?

3) 如何在上传方法中处理图像?比如调整大小、减小文件大小、质量等?

谢谢

最佳答案

1) 我们将文件存储在与 app_data 不同的位置。我们有几个客户群体,我们为他们提供了一个从数据库中获取的唯一文件夹。存储在数据库中也是一种选择,但如果您走这条路,请确保您保存的文件不直接属于您需要经常检索的表。没有对错之分,但请阅读 this question and answer对于一些优点和缺点。

2) 如果你愚弄了那个指南,你可以在循环中放一个检查来检查文件结尾

List<string> denyList = new List<string>();
denyList.Add(".jpg");

foreach (MultipartFileData file in provider.FileData)
{
string fileName = Path.GetFileName(file.LocalFileName);
if(denyList.Contains(Path.GetExtension(fileName))
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);

files.Add(Path.GetFileName(file.LocalFileName));
}

3) 调整图像大小是我自己从未亲自做过的事情,但我认为您应该看看 System.Drawing.Graphics 命名空间。找到一个链接,其中包含缩小图片大小的可接受答案:ASP.Net MVC Image Upload Resizing by downscaling or padding

关于c# - Web Api 2 RESTFUL 图片上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21295513/

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