我正在编写一个Android应用,该应用将一些CSV格式的数据发布到PHP服务器。
如果我仅发布一行,则服务器可以正确读取并执行所需的操作。但是,我无法发布多行。我将CSV数据保存在.txt文件中,并将此数据读入字符串,然后使用HttpURLConnection发送该字符串。问题是,尽管在手机中查看.txt文件看起来不错,但服务器无法正确解释“ \ n”或“ \ r \ n”,并且根本不会更新。我的猜测是,它将整个字符串解释为一行或沿这些行的内容。
发送的每一行都是这样的:
list($value1, $value2, $value3) = explode(",", $datarec);
PHP可以识别某种换行符吗?显然,它无法识别\ n或\ r \ n。
我目前将content-type设置为text / csv,但我也尝试了text / html并使用br />代替。
conn.setRequestProperty("Content-Type", "text/csv");
最佳答案
所以在这里我更喜欢使用NameValuePair。您将每一行合并为一个字符串,并将其创建为NameValuePair
,例如
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("line1", "string1string2string3"));
并发送。
有关更多信息,请参考Add parameters to URLconnection和use of namevaluepair。