gpt4 book ai didi

c# - 上传文件并发送到服务层,即 c# 类库

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

我正在尝试上传文件并将其发送到服务层进行保存,但是我一直在寻找有关 Controller 如何获取 HTTPPostedFileBase 并将其直接保存在 Controller 中的示例。我的服务层在 web dll 上没有依赖项,因此我需要将我的对象读入内存流/字节吗?非常感谢任何关于我应该如何去做的指示......

注意:文件可以是 pdf、word,所以我可能还需要检查内容类型(可能在域服务层内...

代码:

   public ActionResult UploadFile(string filename, HttpPostedFileBase thefile)
{
//what do I do here...?


}

编辑:

public interface ISomethingService    
{
void AddFileToDisk(string loggedonuserid, int fileid, UploadedFile newupload);
}
public class UploadedFile
{
public string Filename { get; set; }
public Stream TheFile { get; set; }
public string ContentType { get; set; }
}

public class SomethingService : ISomethingService
{
public AddFileToDisk(string loggedonuserid, int fileid, UploadedFile newupload)
{
var path = @"c:\somewhere";
//if image
Image _image = Image.FromStream(file);
_image.Save(path);
//not sure how to save files as this is something I am trying to find out...
}
}

最佳答案

您可以使用 InputStream已发布文件的属性,以字节数组形式读取内容并将其与其他信息(例如 ContentType)一起发送到您的服务层。和 FileName您的服务层可能需要:

public ActionResult UploadFile(string filename, HttpPostedFileBase thefile)
{
if (thefile != null && thefile.ContentLength > 0)
{
byte[] buffer = new byte[thefile.ContentLength];
thefile.InputStream.Read(buffer, 0, buffer.Length);
_service.SomeMethod(buffer, thefile.ContentType, thefile.FileName);
}
...
}

关于c# - 上传文件并发送到服务层,即 c# 类库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4991572/

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