我在我的Web API应用程序中有这段代码,用于将数据写入CSV文件:
private void SaveToCSV(InventoryItem invItem, string dbContext)
{
string csvHeader = "id,pack_size,description,vendor_id,department,subdepartment,unit_cost,unit_list,open_qty,UPC_code,UPC_pack_size,vendor_item,crv_id";
int dbContextAsInt = 0;
int.TryParse(dbContext, out dbContextAsInt);
string csvFilename = string.Format("Platypus{0}.csv", dbContextAsInt);
string csv = string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12}", invItem.ID,
invItem.pksize, invItem.Description, invItem.vendor_id, invItem.dept, invItem.subdept, invItem.UnitCost,
invItem.UnitList, invItem.OpenQty, invItem.UPC, invItem.upc_pack_size, invItem.vendor_item, invItem.crv_id);
string existingContents;
using (StreamReader sr = new StreamReader(csvFilename))
{
existingContents = sr.ReadToEnd();
}
using (StreamWriter writetext = File.AppendText(csvFilename))
{
if (!existingContents.Contains(csvHeader))
{
writetext.WriteLine(csvHeader);
}
writetext.WriteLine(csv);
}
}
在开发机上,默认情况下,csv文件保存在“C:\ Program Files(x86)\ IIS Express”中。 为了准备将其部署到最终位置,我需要做什么才能使文件保存到服务器的“Platypi”文件夹中?有什么特殊要求吗?我是否需要明确设置某些文件夹权限以允许写入“Platypi”?
这只是改变此行的问题:
string csvFilename = string.Format("Platypus{0}.csv", dbContextAsInt);
…变成这个:
string csvFilename = string.Format(@"\Platypi\Platypus{0}.csv", dbContextAsInt);
?
Server.MapPath("~/App_Data/...")
。这将返回 app_data 文件夹。~
表示应用程序根文件夹。 - Patrick HofmanHttpServerUtility
,而是使用HttpContext
。 - Patrick Hofman