源代碼已經在Fedora 15,16和Ubuntu 10,11,12中測試過了,沒有問題。在firebreath npplugin中拒絕文件寫入權限
但是在Fedora 17中,文件寫入功能不起作用。
1)
int fd;
if (0 < (fd = open("/home/test/temp/opentest.html", O_CREAT | O_EXCL, 0777))) {
write(fd, "test", strlen("test"));
close(fd);
return "Success";
} else {
return "Error";
}
返回值:錯誤
2)
FILE *pFile;
pFile = fopen("/home/test/temp/opentest.html", "w+");
if (pFile == NULL) {
return "Pointer is NULL";
} else {
fputs("fopen test", pFile);
fclose(pFile);
return "Success";
}
返回值: 「指針爲空」
我猜目錄的權限,使錯誤和設置777權限。 但沒有什麼改變。
相同的代碼在正常的C程序中工作。
爲什麼它沒有在firebreath npPlugin中工作?
關於權限有什麼區別嗎?
是否有任何其他目的的mktemp函數沒有創建臨時文件?我應該創建html文件並設置我想要的文件名。 – Oz6848
糟糕,我實際上是想鏈接['mkstemp(3)'](http://linux.die.net/man/3/mkstemp)。如果它只是一個臨時文件,命名應該沒有關係,所以目的是在分發與預期不同的情況下不要硬編碼臨時目錄。 –
謝謝你的建議。但它不僅僅是一個臨時文件,並且名稱是作爲來自javascript的參數傳遞的。它不能改變。 – Oz6848