2015-05-26 26 views
0
public ActionResult Index(PublishPost post, HttpPostedFileBase f) 
{ 
    string apiUrl = "http://myurl.com" 
    WebClient Client = new WebClient(); 
    byte[] rb = Client.UploadFile(apiUrl, "POST", f.FullName); 
    string response = Encoding.UTF8.GetString(rb); 
} 

httppostefilebase的路径显示 - C:\Windows\SysWOW64\inetsrv\adminrights.JPG但它给错误与Web客户端 - Path not found。请帮助完整路径是给错误与Web客户端上传文件

+0

您是在本地测试还是与某些服务器进行测试?如果'string apiUrl =“http://myurl.com”'是某个服务器URL,并且您正在上传本地存储的文件,它将不起作用。您应该使用'使用(var fileStream = File.Create(BasePath + FolderName + fileName))' f.InputStream.CopyTo(fileStream); }' – Kamo

+0

你是否在iis上托管过你的网站? – CPR43

+0

@Kamo如果我创建一个文件,那么我必须删除它,以及?你能写一个相同的例子,我也应该在app_code文件夹或其他文件夹中创建文件? –

回答

1

要上传使用HttpPostedFileBase你可以用下面的代码片段文件:在您的文件上传

public void UploadFile(HttpPostedFileBase file) 
{ 
     var folderName = "/Content/Upload/Images/"; 
     var fileName = file.FileName; 
     using (var fileStream = File.Create(BasePath + folderName + fileName)) 
     { 
      file.InputStream.CopyTo(fileStream); 
     } 
} 

文件夹没有的情况下,只要IIS有权对其进行写入操作。

要删除的文件只是指https://msdn.microsoft.com/en-us/library/system.io.file.delete(v=vs.110).aspx

我不知道你问是否要上传后删除文件的意思 - 这取决于你的意图。

+0

这里的basepath是什么? –

+0

@rohitsingh - 无论你想要什么,我用'AppDomain.CurrentDomain.BaseDirectory' – Kamo

+0

感谢您的帮助:) –

相关问题