- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我是 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/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!